scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ 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.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval
+ = Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of Red Hat OpenShift Hosted Control Planes service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Red Hat OpenShift Hosted Control Planes service API instance.
+ */
+ public RedHatOpenShiftHostedControlPlanesManager authenticate(TokenCredential credential,
+ AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder.append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.redhatopenshifthcp")
+ .append("/")
+ .append(clientVersion);
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder.append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new BearerTokenAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline = new HttpPipelineBuilder().httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new RedHatOpenShiftHostedControlPlanesManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of HcpOpenShiftClusters. It manages HcpOpenShiftCluster.
+ *
+ * @return Resource collection API of HcpOpenShiftClusters.
+ */
+ public HcpOpenShiftClusters hcpOpenShiftClusters() {
+ if (this.hcpOpenShiftClusters == null) {
+ this.hcpOpenShiftClusters = new HcpOpenShiftClustersImpl(clientObject.getHcpOpenShiftClusters(), this);
+ }
+ return hcpOpenShiftClusters;
+ }
+
+ /**
+ * Gets the resource collection API of NodePools. It manages NodePool.
+ *
+ * @return Resource collection API of NodePools.
+ */
+ public NodePools nodePools() {
+ if (this.nodePools == null) {
+ this.nodePools = new NodePoolsImpl(clientObject.getNodePools(), this);
+ }
+ return nodePools;
+ }
+
+ /**
+ * Gets the resource collection API of ExternalAuths. It manages ExternalAuth.
+ *
+ * @return Resource collection API of ExternalAuths.
+ */
+ public ExternalAuths externalAuths() {
+ if (this.externalAuths == null) {
+ this.externalAuths = new ExternalAuthsImpl(clientObject.getExternalAuths(), this);
+ }
+ return externalAuths;
+ }
+
+ /**
+ * Gets the resource collection API of HcpOpenShiftVersions.
+ *
+ * @return Resource collection API of HcpOpenShiftVersions.
+ */
+ public HcpOpenShiftVersions hcpOpenShiftVersions() {
+ if (this.hcpOpenShiftVersions == null) {
+ this.hcpOpenShiftVersions = new HcpOpenShiftVersionsImpl(clientObject.getHcpOpenShiftVersions(), this);
+ }
+ return hcpOpenShiftVersions;
+ }
+
+ /**
+ * Gets the resource collection API of HcpOperatorIdentityRoleSets.
+ *
+ * @return Resource collection API of HcpOperatorIdentityRoleSets.
+ */
+ public HcpOperatorIdentityRoleSets hcpOperatorIdentityRoleSets() {
+ if (this.hcpOperatorIdentityRoleSets == null) {
+ this.hcpOperatorIdentityRoleSets
+ = new HcpOperatorIdentityRoleSetsImpl(clientObject.getHcpOperatorIdentityRoleSets(), this);
+ }
+ return hcpOperatorIdentityRoleSets;
+ }
+
+ /**
+ * Gets wrapped service client RedHatOpenShiftHostedControlPlanesManagementClient providing direct access to the
+ * underlying auto-generated API implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client RedHatOpenShiftHostedControlPlanesManagementClient.
+ */
+ public RedHatOpenShiftHostedControlPlanesManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/ExternalAuthsClient.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/ExternalAuthsClient.java
new file mode 100644
index 000000000000..1c07d35cb2d7
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/ExternalAuthsClient.java
@@ -0,0 +1,267 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.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.redhatopenshifthcp.fluent.models.ExternalAuthInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ExternalAuthsClient.
+ */
+public interface ExternalAuthsClient {
+ /**
+ * Get a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 a ExternalAuth along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, Context context);
+
+ /**
+ * Get a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 a ExternalAuth.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExternalAuthInner get(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName);
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ExternalAuthInner> beginCreateOrUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner resource);
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ExternalAuthInner> beginCreateOrUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner resource, Context context);
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExternalAuthInner createOrUpdate(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName,
+ ExternalAuthInner resource);
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExternalAuthInner createOrUpdate(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName,
+ ExternalAuthInner resource, Context context);
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ExternalAuthInner> beginUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner properties);
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ExternalAuthInner> beginUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner properties, Context context);
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExternalAuthInner update(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName,
+ ExternalAuthInner properties);
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExternalAuthInner update(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName,
+ ExternalAuthInner properties, Context context);
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName,
+ String externalAuthName);
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName,
+ String externalAuthName, Context context);
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName, String externalAuthName);
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName, String externalAuthName, Context context);
+
+ /**
+ * List ExternalAuth resources by HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response of a ExternalAuth list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByParent(String resourceGroupName, String hcpOpenShiftClusterName);
+
+ /**
+ * List ExternalAuth resources by HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response of a ExternalAuth list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByParent(String resourceGroupName, String hcpOpenShiftClusterName,
+ Context context);
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/HcpOpenShiftClustersClient.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/HcpOpenShiftClustersClient.java
new file mode 100644
index 000000000000..4c1a3e8189f8
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/HcpOpenShiftClustersClient.java
@@ -0,0 +1,390 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.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.redhatopenshifthcp.fluent.models.HcpOpenShiftClusterAdminCredentialInner;
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.HcpOpenShiftClusterInner;
+import com.azure.resourcemanager.redhatopenshifthcp.models.HcpOpenShiftClusterAdminCredentialRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in HcpOpenShiftClustersClient.
+ */
+public interface HcpOpenShiftClustersClient {
+ /**
+ * Get a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 a HcpOpenShiftCluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName,
+ String hcpOpenShiftClusterName, Context context);
+
+ /**
+ * Get a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 a HcpOpenShiftCluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HcpOpenShiftClusterInner getByResourceGroup(String resourceGroupName, String hcpOpenShiftClusterName);
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, HcpOpenShiftClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String hcpOpenShiftClusterName, HcpOpenShiftClusterInner resource);
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, HcpOpenShiftClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String hcpOpenShiftClusterName, HcpOpenShiftClusterInner resource, Context context);
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HcpOpenShiftClusterInner createOrUpdate(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner resource);
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HcpOpenShiftClusterInner createOrUpdate(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner resource, Context context);
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, HcpOpenShiftClusterInner> beginUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterInner properties);
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, HcpOpenShiftClusterInner> beginUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterInner properties, Context context);
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HcpOpenShiftClusterInner update(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner properties);
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HcpOpenShiftClusterInner update(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner properties, Context context);
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName);
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName,
+ Context context);
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName);
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName, Context context);
+
+ /**
+ * List HcpOpenShiftCluster resources by resource group.
+ *
+ * @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 response of a HcpOpenShiftCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List HcpOpenShiftCluster resources by resource group.
+ *
+ * @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 response of a HcpOpenShiftCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List HcpOpenShiftCluster resources by subscription ID.
+ *
+ * @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 response of a HcpOpenShiftCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List HcpOpenShiftCluster resources by subscription ID.
+ *
+ * @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 response of a HcpOpenShiftCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, HcpOpenShiftClusterAdminCredentialInner>
+ beginRequestAdminCredential(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterAdminCredentialRequest body);
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, HcpOpenShiftClusterAdminCredentialInner>
+ beginRequestAdminCredential(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterAdminCredentialRequest body, Context context);
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HcpOpenShiftClusterAdminCredentialInner requestAdminCredential(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterAdminCredentialRequest body);
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HcpOpenShiftClusterAdminCredentialInner requestAdminCredential(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterAdminCredentialRequest body, Context context);
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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> beginRevokeCredentials(String resourceGroupName, String hcpOpenShiftClusterName);
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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> beginRevokeCredentials(String resourceGroupName, String hcpOpenShiftClusterName,
+ Context context);
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 revokeCredentials(String resourceGroupName, String hcpOpenShiftClusterName);
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 revokeCredentials(String resourceGroupName, String hcpOpenShiftClusterName, Context context);
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/HcpOpenShiftVersionsClient.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/HcpOpenShiftVersionsClient.java
new file mode 100644
index 000000000000..c9fe4b0ba813
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/HcpOpenShiftVersionsClient.java
@@ -0,0 +1,70 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.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.util.Context;
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.HcpOpenShiftVersionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in HcpOpenShiftVersionsClient.
+ */
+public interface HcpOpenShiftVersionsClient {
+ /**
+ * Get a HcpOpenShiftVersion.
+ *
+ * @param location The name of the Azure region.
+ * @param hcpOpenShiftVersionName The name of the HcpOpenShiftVersion.
+ * @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 a HcpOpenShiftVersion along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, String hcpOpenShiftVersionName,
+ Context context);
+
+ /**
+ * Get a HcpOpenShiftVersion.
+ *
+ * @param location The name of the Azure region.
+ * @param hcpOpenShiftVersionName The name of the HcpOpenShiftVersion.
+ * @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 a HcpOpenShiftVersion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HcpOpenShiftVersionInner get(String location, String hcpOpenShiftVersionName);
+
+ /**
+ * List HcpOpenShiftVersion resources by SubscriptionLocationResource.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a HcpOpenShiftVersion list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location);
+
+ /**
+ * List HcpOpenShiftVersion resources by SubscriptionLocationResource.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a HcpOpenShiftVersion list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, Context context);
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/HcpOperatorIdentityRoleSetsClient.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/HcpOperatorIdentityRoleSetsClient.java
new file mode 100644
index 000000000000..3e03c69099b1
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/HcpOperatorIdentityRoleSetsClient.java
@@ -0,0 +1,72 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.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.util.Context;
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.HcpOperatorIdentityRoleSetInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in HcpOperatorIdentityRoleSetsClient.
+ */
+public interface HcpOperatorIdentityRoleSetsClient {
+ /**
+ * List HcpOperatorIdentityRoleSet resources by SubscriptionLocationResource.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a HcpOperatorIdentityRoleSet list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location);
+
+ /**
+ * List HcpOperatorIdentityRoleSet resources by SubscriptionLocationResource.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a HcpOperatorIdentityRoleSet list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, Context context);
+
+ /**
+ * Get a HcpOperatorIdentityRoleSet.
+ *
+ * @param location The name of the Azure region.
+ * @param hcpOperatorIdentityRoleSetName The OpenShift minor version these identities are required for.
+ * @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 a HcpOperatorIdentityRoleSet along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, String hcpOperatorIdentityRoleSetName,
+ Context context);
+
+ /**
+ * Get a HcpOperatorIdentityRoleSet.
+ *
+ * @param location The name of the Azure region.
+ * @param hcpOperatorIdentityRoleSetName The OpenShift minor version these identities are required for.
+ * @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 a HcpOperatorIdentityRoleSet.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ HcpOperatorIdentityRoleSetInner get(String location, String hcpOperatorIdentityRoleSetName);
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/NodePoolsClient.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/NodePoolsClient.java
new file mode 100644
index 000000000000..df1f589eeacb
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/NodePoolsClient.java
@@ -0,0 +1,271 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.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.redhatopenshifthcp.fluent.models.NodePoolInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in NodePoolsClient.
+ */
+public interface NodePoolsClient {
+ /**
+ * Get a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @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 a NodePool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ String nodePoolName, Context context);
+
+ /**
+ * Get a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @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 a NodePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NodePoolInner get(String resourceGroupName, String hcpOpenShiftClusterName, String nodePoolName);
+
+ /**
+ * Create a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @param resource Resource create parameters.
+ * @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 concrete tracked resource types can be created by aliasing this
+ * type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NodePoolInner> beginCreateOrUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String nodePoolName, NodePoolInner resource);
+
+ /**
+ * Create a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @param resource Resource create parameters.
+ * @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 concrete tracked resource types can be created by aliasing this
+ * type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NodePoolInner> beginCreateOrUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String nodePoolName, NodePoolInner resource, Context context);
+
+ /**
+ * Create a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @param resource Resource create parameters.
+ * @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 concrete tracked resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NodePoolInner createOrUpdate(String resourceGroupName, String hcpOpenShiftClusterName, String nodePoolName,
+ NodePoolInner resource);
+
+ /**
+ * Create a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @param resource Resource create parameters.
+ * @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 concrete tracked resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NodePoolInner createOrUpdate(String resourceGroupName, String hcpOpenShiftClusterName, String nodePoolName,
+ NodePoolInner resource, Context context);
+
+ /**
+ * Update a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @param properties The resource properties to be updated.
+ * @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 concrete tracked resource types can be created by aliasing this
+ * type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NodePoolInner> beginUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String nodePoolName, NodePoolInner properties);
+
+ /**
+ * Update a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @param properties The resource properties to be updated.
+ * @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 concrete tracked resource types can be created by aliasing this
+ * type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NodePoolInner> beginUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String nodePoolName, NodePoolInner properties, Context context);
+
+ /**
+ * Update a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @param properties The resource properties to be updated.
+ * @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 concrete tracked resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NodePoolInner update(String resourceGroupName, String hcpOpenShiftClusterName, String nodePoolName,
+ NodePoolInner properties);
+
+ /**
+ * Update a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @param properties The resource properties to be updated.
+ * @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 concrete tracked resource types can be created by aliasing this type using a specific property type.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NodePoolInner update(String resourceGroupName, String hcpOpenShiftClusterName, String nodePoolName,
+ NodePoolInner properties, Context context);
+
+ /**
+ * Delete a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @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 hcpOpenShiftClusterName,
+ String nodePoolName);
+
+ /**
+ * Delete a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @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 hcpOpenShiftClusterName,
+ String nodePoolName, Context context);
+
+ /**
+ * Delete a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @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 hcpOpenShiftClusterName, String nodePoolName);
+
+ /**
+ * Delete a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param nodePoolName The name of the NodePool.
+ * @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 hcpOpenShiftClusterName, String nodePoolName, Context context);
+
+ /**
+ * List NodePool resources by HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response of a NodePool list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByParent(String resourceGroupName, String hcpOpenShiftClusterName);
+
+ /**
+ * List NodePool resources by HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response of a NodePool list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByParent(String resourceGroupName, String hcpOpenShiftClusterName,
+ Context context);
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/OperationsClient.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/OperationsClient.java
new file mode 100644
index 000000000000..401d638b6119
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/OperationsClient.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.OperationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationsClient.
+ */
+public interface OperationsClient {
+ /**
+ * List the operations for the provider.
+ *
+ * @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 a list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the operations for the provider.
+ *
+ * @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 a list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/RedHatOpenShiftHostedControlPlanesManagementClient.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/RedHatOpenShiftHostedControlPlanesManagementClient.java
new file mode 100644
index 000000000000..22a67f375b3c
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/RedHatOpenShiftHostedControlPlanesManagementClient.java
@@ -0,0 +1,90 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/**
+ * The interface for RedHatOpenShiftHostedControlPlanesManagementClient class.
+ */
+public interface RedHatOpenShiftHostedControlPlanesManagementClient {
+ /**
+ * Gets Service host.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Version parameter.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The ID of the target subscription. The value must be an UUID.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the HcpOpenShiftClustersClient object to access its operations.
+ *
+ * @return the HcpOpenShiftClustersClient object.
+ */
+ HcpOpenShiftClustersClient getHcpOpenShiftClusters();
+
+ /**
+ * Gets the NodePoolsClient object to access its operations.
+ *
+ * @return the NodePoolsClient object.
+ */
+ NodePoolsClient getNodePools();
+
+ /**
+ * Gets the ExternalAuthsClient object to access its operations.
+ *
+ * @return the ExternalAuthsClient object.
+ */
+ ExternalAuthsClient getExternalAuths();
+
+ /**
+ * Gets the HcpOpenShiftVersionsClient object to access its operations.
+ *
+ * @return the HcpOpenShiftVersionsClient object.
+ */
+ HcpOpenShiftVersionsClient getHcpOpenShiftVersions();
+
+ /**
+ * Gets the HcpOperatorIdentityRoleSetsClient object to access its operations.
+ *
+ * @return the HcpOperatorIdentityRoleSetsClient object.
+ */
+ HcpOperatorIdentityRoleSetsClient getHcpOperatorIdentityRoleSets();
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/ExternalAuthInner.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/ExternalAuthInner.java
new file mode 100644
index 000000000000..6dc804e1de82
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/ExternalAuthInner.java
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.redhatopenshifthcp.models.ExternalAuthProperties;
+import java.io.IOException;
+
+/**
+ * ExternalAuth resource.
+ */
+@Fluent
+public final class ExternalAuthInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private ExternalAuthProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of ExternalAuthInner class.
+ */
+ public ExternalAuthInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public ExternalAuthProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the ExternalAuthInner object itself.
+ */
+ public ExternalAuthInner withProperties(ExternalAuthProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ExternalAuthInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ExternalAuthInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ExternalAuthInner.
+ */
+ public static ExternalAuthInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ExternalAuthInner deserializedExternalAuthInner = new ExternalAuthInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedExternalAuthInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedExternalAuthInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedExternalAuthInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedExternalAuthInner.properties = ExternalAuthProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedExternalAuthInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedExternalAuthInner;
+ });
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOpenShiftClusterAdminCredentialInner.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOpenShiftClusterAdminCredentialInner.java
new file mode 100644
index 000000000000..2701b6944707
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOpenShiftClusterAdminCredentialInner.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.CoreUtils;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+
+/**
+ * HCP cluster admin credential.
+ */
+@Immutable
+public final class HcpOpenShiftClusterAdminCredentialInner
+ implements JsonSerializable {
+ /*
+ * Admin kubeconfig with a temporary client certificate
+ */
+ private String kubeconfig;
+
+ /*
+ * Expiration timestamp for the kubeconfig's client certificate
+ */
+ private OffsetDateTime expirationTimestamp;
+
+ /**
+ * Creates an instance of HcpOpenShiftClusterAdminCredentialInner class.
+ */
+ private HcpOpenShiftClusterAdminCredentialInner() {
+ }
+
+ /**
+ * Get the kubeconfig property: Admin kubeconfig with a temporary client certificate.
+ *
+ * @return the kubeconfig value.
+ */
+ public String kubeconfig() {
+ return this.kubeconfig;
+ }
+
+ /**
+ * Get the expirationTimestamp property: Expiration timestamp for the kubeconfig's client certificate.
+ *
+ * @return the expirationTimestamp value.
+ */
+ public OffsetDateTime expirationTimestamp() {
+ return this.expirationTimestamp;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of HcpOpenShiftClusterAdminCredentialInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of HcpOpenShiftClusterAdminCredentialInner if the JsonReader was pointing to an instance of
+ * it, or null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the HcpOpenShiftClusterAdminCredentialInner.
+ */
+ public static HcpOpenShiftClusterAdminCredentialInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ HcpOpenShiftClusterAdminCredentialInner deserializedHcpOpenShiftClusterAdminCredentialInner
+ = new HcpOpenShiftClusterAdminCredentialInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("kubeconfig".equals(fieldName)) {
+ deserializedHcpOpenShiftClusterAdminCredentialInner.kubeconfig = reader.getString();
+ } else if ("expirationTimestamp".equals(fieldName)) {
+ deserializedHcpOpenShiftClusterAdminCredentialInner.expirationTimestamp = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedHcpOpenShiftClusterAdminCredentialInner;
+ });
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOpenShiftClusterInner.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOpenShiftClusterInner.java
new file mode 100644
index 000000000000..d8c63701a75b
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOpenShiftClusterInner.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.redhatopenshifthcp.models.HcpOpenShiftClusterProperties;
+import com.azure.resourcemanager.redhatopenshifthcp.models.ManagedServiceIdentity;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * HCP cluster resource.
+ */
+@Fluent
+public final class HcpOpenShiftClusterInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private HcpOpenShiftClusterProperties properties;
+
+ /*
+ * The managed service identities assigned to this resource.
+ */
+ private ManagedServiceIdentity identity;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of HcpOpenShiftClusterInner class.
+ */
+ public HcpOpenShiftClusterInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public HcpOpenShiftClusterProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the HcpOpenShiftClusterInner object itself.
+ */
+ public HcpOpenShiftClusterInner withProperties(HcpOpenShiftClusterProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The managed service identities assigned to this resource.
+ *
+ * @return the identity value.
+ */
+ public ManagedServiceIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The managed service identities assigned to this resource.
+ *
+ * @param identity the identity value to set.
+ * @return the HcpOpenShiftClusterInner object itself.
+ */
+ public HcpOpenShiftClusterInner withIdentity(ManagedServiceIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public HcpOpenShiftClusterInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public HcpOpenShiftClusterInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeJsonField("identity", this.identity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of HcpOpenShiftClusterInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of HcpOpenShiftClusterInner if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the HcpOpenShiftClusterInner.
+ */
+ public static HcpOpenShiftClusterInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ HcpOpenShiftClusterInner deserializedHcpOpenShiftClusterInner = new HcpOpenShiftClusterInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedHcpOpenShiftClusterInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedHcpOpenShiftClusterInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedHcpOpenShiftClusterInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedHcpOpenShiftClusterInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedHcpOpenShiftClusterInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedHcpOpenShiftClusterInner.properties = HcpOpenShiftClusterProperties.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedHcpOpenShiftClusterInner.identity = ManagedServiceIdentity.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedHcpOpenShiftClusterInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedHcpOpenShiftClusterInner;
+ });
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOpenShiftVersionInner.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOpenShiftVersionInner.java
new file mode 100644
index 000000000000..014bb834736b
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOpenShiftVersionInner.java
@@ -0,0 +1,144 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.redhatopenshifthcp.models.HcpOpenShiftVersionProperties;
+import java.io.IOException;
+
+/**
+ * HcpOpenShiftVersion represents a location based available HCP OpenShift version.
+ */
+@Immutable
+public final class HcpOpenShiftVersionInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private HcpOpenShiftVersionProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of HcpOpenShiftVersionInner class.
+ */
+ private HcpOpenShiftVersionInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public HcpOpenShiftVersionProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of HcpOpenShiftVersionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of HcpOpenShiftVersionInner if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the HcpOpenShiftVersionInner.
+ */
+ public static HcpOpenShiftVersionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ HcpOpenShiftVersionInner deserializedHcpOpenShiftVersionInner = new HcpOpenShiftVersionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedHcpOpenShiftVersionInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedHcpOpenShiftVersionInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedHcpOpenShiftVersionInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedHcpOpenShiftVersionInner.properties = HcpOpenShiftVersionProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedHcpOpenShiftVersionInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedHcpOpenShiftVersionInner;
+ });
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOperatorIdentityRoleSetInner.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOperatorIdentityRoleSetInner.java
new file mode 100644
index 000000000000..072214fa5430
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/HcpOperatorIdentityRoleSetInner.java
@@ -0,0 +1,148 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.redhatopenshifthcp.models.HcpOperatorIdentityRoleSetProperties;
+import java.io.IOException;
+
+/**
+ * HcpOperatorIdentityRoles represents a location based representation of
+ * the required platform workload identities and their required roles for a given
+ * OpenShift version.
+ */
+@Immutable
+public final class HcpOperatorIdentityRoleSetInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private HcpOperatorIdentityRoleSetProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of HcpOperatorIdentityRoleSetInner class.
+ */
+ private HcpOperatorIdentityRoleSetInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public HcpOperatorIdentityRoleSetProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of HcpOperatorIdentityRoleSetInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of HcpOperatorIdentityRoleSetInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the HcpOperatorIdentityRoleSetInner.
+ */
+ public static HcpOperatorIdentityRoleSetInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ HcpOperatorIdentityRoleSetInner deserializedHcpOperatorIdentityRoleSetInner
+ = new HcpOperatorIdentityRoleSetInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedHcpOperatorIdentityRoleSetInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedHcpOperatorIdentityRoleSetInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedHcpOperatorIdentityRoleSetInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedHcpOperatorIdentityRoleSetInner.properties
+ = HcpOperatorIdentityRoleSetProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedHcpOperatorIdentityRoleSetInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedHcpOperatorIdentityRoleSetInner;
+ });
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/NodePoolInner.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/NodePoolInner.java
new file mode 100644
index 000000000000..298b21731f40
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/NodePoolInner.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.redhatopenshifthcp.models.ManagedServiceIdentity;
+import com.azure.resourcemanager.redhatopenshifthcp.models.NodePoolProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Concrete tracked resource types can be created by aliasing this type using a specific property type.
+ */
+@Fluent
+public final class NodePoolInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private NodePoolProperties properties;
+
+ /*
+ * The managed service identities assigned to this resource.
+ */
+ private ManagedServiceIdentity identity;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of NodePoolInner class.
+ */
+ public NodePoolInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public NodePoolProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the NodePoolInner object itself.
+ */
+ public NodePoolInner withProperties(NodePoolProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The managed service identities assigned to this resource.
+ *
+ * @return the identity value.
+ */
+ public ManagedServiceIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The managed service identities assigned to this resource.
+ *
+ * @param identity the identity value to set.
+ * @return the NodePoolInner object itself.
+ */
+ public NodePoolInner withIdentity(ManagedServiceIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public NodePoolInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public NodePoolInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeJsonField("identity", this.identity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of NodePoolInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of NodePoolInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the NodePoolInner.
+ */
+ public static NodePoolInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ NodePoolInner deserializedNodePoolInner = new NodePoolInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedNodePoolInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedNodePoolInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedNodePoolInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedNodePoolInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedNodePoolInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedNodePoolInner.properties = NodePoolProperties.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedNodePoolInner.identity = ManagedServiceIdentity.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedNodePoolInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedNodePoolInner;
+ });
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/OperationInner.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..54bfdc8b77f4
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/OperationInner.java
@@ -0,0 +1,150 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.redhatopenshifthcp.models.ActionType;
+import com.azure.resourcemanager.redhatopenshifthcp.models.OperationDisplay;
+import com.azure.resourcemanager.redhatopenshifthcp.models.Origin;
+import java.io.IOException;
+
+/**
+ * REST API Operation
+ *
+ * Details of a REST API operation, returned from the Resource Provider Operations API.
+ */
+@Immutable
+public final class OperationInner implements JsonSerializable {
+ /*
+ * The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
+ */
+ private String name;
+
+ /*
+ * Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for Azure
+ * Resource Manager/control-plane operations.
+ */
+ private Boolean isDataAction;
+
+ /*
+ * Localized display information for this particular operation.
+ */
+ private OperationDisplay display;
+
+ /*
+ * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
+ * value is "user,system"
+ */
+ private Origin origin;
+
+ /*
+ * Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
+ */
+ private ActionType actionType;
+
+ /**
+ * Creates an instance of OperationInner class.
+ */
+ private OperationInner() {
+ }
+
+ /**
+ * Get the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for Azure Resource Manager/control-plane operations.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Get the display property: Localized display information for this particular operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Get the origin property: The intended executor of the operation; as in Resource Based Access Control (RBAC) and
+ * audit logs UX. Default value is "user,system".
+ *
+ * @return the origin value.
+ */
+ public Origin origin() {
+ return this.origin;
+ }
+
+ /**
+ * Get the actionType property: Extensible enum. Indicates the action type. "Internal" refers to actions that are
+ * for internal only APIs.
+ *
+ * @return the actionType value.
+ */
+ public ActionType actionType() {
+ return this.actionType;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("display", this.display);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of OperationInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of OperationInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the OperationInner.
+ */
+ public static OperationInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ OperationInner deserializedOperationInner = new OperationInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("name".equals(fieldName)) {
+ deserializedOperationInner.name = reader.getString();
+ } else if ("isDataAction".equals(fieldName)) {
+ deserializedOperationInner.isDataAction = reader.getNullable(JsonReader::getBoolean);
+ } else if ("display".equals(fieldName)) {
+ deserializedOperationInner.display = OperationDisplay.fromJson(reader);
+ } else if ("origin".equals(fieldName)) {
+ deserializedOperationInner.origin = Origin.fromString(reader.getString());
+ } else if ("actionType".equals(fieldName)) {
+ deserializedOperationInner.actionType = ActionType.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationInner;
+ });
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/package-info.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/package-info.java
new file mode 100644
index 000000000000..b177927ff5a1
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/models/package-info.java
@@ -0,0 +1,8 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+/**
+ * Package containing the inner data models for RedHatOpenShiftHostedControlPlanes.
+ */
+package com.azure.resourcemanager.redhatopenshifthcp.fluent.models;
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/package-info.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/package-info.java
new file mode 100644
index 000000000000..82e36a6dc6a3
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/fluent/package-info.java
@@ -0,0 +1,8 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+/**
+ * Package containing the service clients for RedHatOpenShiftHostedControlPlanes.
+ */
+package com.azure.resourcemanager.redhatopenshifthcp.fluent;
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/ExternalAuthImpl.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/ExternalAuthImpl.java
new file mode 100644
index 000000000000..db2a34f92e86
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/ExternalAuthImpl.java
@@ -0,0 +1,132 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.ExternalAuthInner;
+import com.azure.resourcemanager.redhatopenshifthcp.models.ExternalAuth;
+import com.azure.resourcemanager.redhatopenshifthcp.models.ExternalAuthProperties;
+
+public final class ExternalAuthImpl implements ExternalAuth, ExternalAuth.Definition, ExternalAuth.Update {
+ private ExternalAuthInner innerObject;
+
+ private final com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public ExternalAuthProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public ExternalAuthInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String hcpOpenShiftClusterName;
+
+ private String externalAuthName;
+
+ public ExternalAuthImpl withExistingHcpOpenShiftCluster(String resourceGroupName, String hcpOpenShiftClusterName) {
+ this.resourceGroupName = resourceGroupName;
+ this.hcpOpenShiftClusterName = hcpOpenShiftClusterName;
+ return this;
+ }
+
+ public ExternalAuth create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getExternalAuths()
+ .createOrUpdate(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, this.innerModel(),
+ Context.NONE);
+ return this;
+ }
+
+ public ExternalAuth create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getExternalAuths()
+ .createOrUpdate(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, this.innerModel(), context);
+ return this;
+ }
+
+ ExternalAuthImpl(String name,
+ com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager serviceManager) {
+ this.innerObject = new ExternalAuthInner();
+ this.serviceManager = serviceManager;
+ this.externalAuthName = name;
+ }
+
+ public ExternalAuthImpl update() {
+ return this;
+ }
+
+ public ExternalAuth apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getExternalAuths()
+ .update(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public ExternalAuth apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getExternalAuths()
+ .update(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, this.innerModel(), context);
+ return this;
+ }
+
+ ExternalAuthImpl(ExternalAuthInner innerObject,
+ com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.hcpOpenShiftClusterName
+ = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "hcpOpenShiftClusters");
+ this.externalAuthName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "externalAuths");
+ }
+
+ public ExternalAuth refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getExternalAuths()
+ .getWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ExternalAuth refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getExternalAuths()
+ .getWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, context)
+ .getValue();
+ return this;
+ }
+
+ public ExternalAuthImpl withProperties(ExternalAuthProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/ExternalAuthsClientImpl.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/ExternalAuthsClientImpl.java
new file mode 100644
index 000000000000..394d56b6c960
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/ExternalAuthsClientImpl.java
@@ -0,0 +1,993 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.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.BinaryData;
+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.redhatopenshifthcp.fluent.ExternalAuthsClient;
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.ExternalAuthInner;
+import com.azure.resourcemanager.redhatopenshifthcp.implementation.models.ExternalAuthListResult;
+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 ExternalAuthsClient.
+ */
+public final class ExternalAuthsClientImpl implements ExternalAuthsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final ExternalAuthsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final RedHatOpenShiftHostedControlPlanesManagementClientImpl client;
+
+ /**
+ * Initializes an instance of ExternalAuthsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ExternalAuthsClientImpl(RedHatOpenShiftHostedControlPlanesManagementClientImpl client) {
+ this.service
+ = RestProxy.create(ExternalAuthsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for RedHatOpenShiftHostedControlPlanesManagementClientExternalAuths to be
+ * used by the proxy service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "RedHatOpenShiftHostedControlPlanesManagementClientExternalAuths")
+ public interface ExternalAuthsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @PathParam("externalAuthName") String externalAuthName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response getSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @PathParam("externalAuthName") String externalAuthName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @PathParam("externalAuthName") String externalAuthName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") ExternalAuthInner resource,
+ Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response createOrUpdateSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @PathParam("externalAuthName") String externalAuthName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") ExternalAuthInner resource,
+ Context context);
+
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @PathParam("externalAuthName") String externalAuthName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") ExternalAuthInner properties,
+ Context context);
+
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response updateSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @PathParam("externalAuthName") String externalAuthName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") ExternalAuthInner properties,
+ Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @PathParam("externalAuthName") String externalAuthName, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths/{externalAuthName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response deleteSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @PathParam("externalAuthName") String externalAuthName, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByParent(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/externalAuths")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByParentSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByParentNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByParentNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * Get a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 ExternalAuth along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, externalAuthName, accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 ExternalAuth on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName) {
+ return getWithResponseAsync(resourceGroupName, hcpOpenShiftClusterName, externalAuthName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 ExternalAuth along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, Context context) {
+ final String accept = "application/json";
+ return service.getSync(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, hcpOpenShiftClusterName, externalAuthName, accept, context);
+ }
+
+ /**
+ * Get a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 ExternalAuth.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExternalAuthInner get(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName) {
+ return getWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, Context.NONE).getValue();
+ }
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, externalAuthName,
+ contentType, accept, resource, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, ExternalAuthInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, externalAuthName, contentType,
+ accept, resource, Context.NONE);
+ }
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, ExternalAuthInner resource, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, externalAuthName, contentType,
+ accept, resource, context);
+ }
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ExternalAuthInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner resource) {
+ Mono>> mono
+ = createOrUpdateWithResponseAsync(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, resource);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ ExternalAuthInner.class, ExternalAuthInner.class, this.client.getContext());
+ }
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ExternalAuthInner> beginCreateOrUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner resource) {
+ Response response
+ = createOrUpdateWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, resource);
+ return this.client.getLroResult(response, ExternalAuthInner.class,
+ ExternalAuthInner.class, Context.NONE);
+ }
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ExternalAuthInner> beginCreateOrUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner resource, Context context) {
+ Response response = createOrUpdateWithResponse(resourceGroupName, hcpOpenShiftClusterName,
+ externalAuthName, resource, context);
+ return this.client.getLroResult(response, ExternalAuthInner.class,
+ ExternalAuthInner.class, context);
+ }
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, ExternalAuthInner resource) {
+ return beginCreateOrUpdateAsync(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, resource).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExternalAuthInner createOrUpdate(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, ExternalAuthInner resource) {
+ return beginCreateOrUpdate(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, resource)
+ .getFinalResult();
+ }
+
+ /**
+ * Create a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param resource Resource create parameters.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExternalAuthInner createOrUpdate(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, ExternalAuthInner resource, Context context) {
+ return beginCreateOrUpdate(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, resource, context)
+ .getFinalResult();
+ }
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner properties) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.update(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, externalAuthName,
+ contentType, accept, properties, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response updateWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, ExternalAuthInner properties) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.updateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, externalAuthName, contentType,
+ accept, properties, Context.NONE);
+ }
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response updateWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, ExternalAuthInner properties, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.updateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, externalAuthName, contentType,
+ accept, properties, context);
+ }
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ExternalAuthInner> beginUpdateAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner properties) {
+ Mono>> mono
+ = updateWithResponseAsync(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, properties);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ ExternalAuthInner.class, ExternalAuthInner.class, this.client.getContext());
+ }
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ExternalAuthInner> beginUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner properties) {
+ Response response
+ = updateWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, properties);
+ return this.client.getLroResult(response, ExternalAuthInner.class,
+ ExternalAuthInner.class, Context.NONE);
+ }
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ExternalAuthInner> beginUpdate(String resourceGroupName,
+ String hcpOpenShiftClusterName, String externalAuthName, ExternalAuthInner properties, Context context) {
+ Response response
+ = updateWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, properties, context);
+ return this.client.getLroResult(response, ExternalAuthInner.class,
+ ExternalAuthInner.class, context);
+ }
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, ExternalAuthInner properties) {
+ return beginUpdateAsync(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, properties).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExternalAuthInner update(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName,
+ ExternalAuthInner properties) {
+ return beginUpdate(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, properties).getFinalResult();
+ }
+
+ /**
+ * Update a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @param properties The resource properties to be updated.
+ * @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 externalAuth resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExternalAuthInner update(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName,
+ ExternalAuthInner properties, Context context) {
+ return beginUpdate(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, properties, context)
+ .getFinalResult();
+ }
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName, String externalAuthName) {
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, externalAuthName, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 response body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, externalAuthName,
+ Context.NONE);
+ }
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 response body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, Context context) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, externalAuthName, context);
+ }
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName, String externalAuthName) {
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, hcpOpenShiftClusterName, externalAuthName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName,
+ String externalAuthName) {
+ Response response
+ = deleteWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName);
+ return this.client.getLroResult(response, Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName,
+ String externalAuthName, Context context) {
+ Response response
+ = deleteWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, context);
+ return this.client.getLroResult(response, Void.class, Void.class, context);
+ }
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName, String externalAuthName) {
+ return beginDeleteAsync(resourceGroupName, hcpOpenShiftClusterName, externalAuthName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName, String externalAuthName) {
+ beginDelete(resourceGroupName, hcpOpenShiftClusterName, externalAuthName).getFinalResult();
+ }
+
+ /**
+ * Delete a ExternalAuth.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param externalAuthName The name of the ExternalAuth.
+ * @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 hcpOpenShiftClusterName, String externalAuthName,
+ Context context) {
+ beginDelete(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, context).getFinalResult();
+ }
+
+ /**
+ * List ExternalAuth resources by HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response of a ExternalAuth list operation along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByParentSinglePageAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByParent(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, 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()));
+ }
+
+ /**
+ * List ExternalAuth resources by HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response of a ExternalAuth list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByParentAsync(String resourceGroupName, String hcpOpenShiftClusterName) {
+ return new PagedFlux<>(() -> listByParentSinglePageAsync(resourceGroupName, hcpOpenShiftClusterName),
+ nextLink -> listByParentNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List ExternalAuth resources by HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response of a ExternalAuth list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByParentSinglePage(String resourceGroupName,
+ String hcpOpenShiftClusterName) {
+ final String accept = "application/json";
+ Response res
+ = service.listByParentSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List ExternalAuth resources by HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response of a ExternalAuth list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByParentSinglePage(String resourceGroupName,
+ String hcpOpenShiftClusterName, Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listByParentSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List ExternalAuth resources by HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response of a ExternalAuth list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByParent(String resourceGroupName, String hcpOpenShiftClusterName) {
+ return new PagedIterable<>(() -> listByParentSinglePage(resourceGroupName, hcpOpenShiftClusterName),
+ nextLink -> listByParentNextSinglePage(nextLink));
+ }
+
+ /**
+ * List ExternalAuth resources by HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response of a ExternalAuth list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByParent(String resourceGroupName, String hcpOpenShiftClusterName,
+ Context context) {
+ return new PagedIterable<>(() -> listByParentSinglePage(resourceGroupName, hcpOpenShiftClusterName, context),
+ nextLink -> listByParentNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @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 response of a ExternalAuth list operation along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByParentNextSinglePageAsync(String nextLink) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByParentNext(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.
+ * @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 response of a ExternalAuth list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByParentNextSinglePage(String nextLink) {
+ final String accept = "application/json";
+ Response res
+ = service.listByParentNextSync(nextLink, this.client.getEndpoint(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @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 response of a ExternalAuth list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByParentNextSinglePage(String nextLink, Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listByParentNextSync(nextLink, this.client.getEndpoint(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/ExternalAuthsImpl.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/ExternalAuthsImpl.java
new file mode 100644
index 000000000000..9e4a41006a88
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/ExternalAuthsImpl.java
@@ -0,0 +1,158 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.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.redhatopenshifthcp.fluent.ExternalAuthsClient;
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.ExternalAuthInner;
+import com.azure.resourcemanager.redhatopenshifthcp.models.ExternalAuth;
+import com.azure.resourcemanager.redhatopenshifthcp.models.ExternalAuths;
+
+public final class ExternalAuthsImpl implements ExternalAuths {
+ private static final ClientLogger LOGGER = new ClientLogger(ExternalAuthsImpl.class);
+
+ private final ExternalAuthsClient innerClient;
+
+ private final com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager serviceManager;
+
+ public ExternalAuthsImpl(ExternalAuthsClient innerClient,
+ com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ String externalAuthName, Context context) {
+ Response inner = this.serviceClient()
+ .getWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new ExternalAuthImpl(inner.getValue(), this.manager()));
+ }
+
+ public ExternalAuth get(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName) {
+ ExternalAuthInner inner
+ = this.serviceClient().get(resourceGroupName, hcpOpenShiftClusterName, externalAuthName);
+ if (inner != null) {
+ return new ExternalAuthImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void delete(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName) {
+ this.serviceClient().delete(resourceGroupName, hcpOpenShiftClusterName, externalAuthName);
+ }
+
+ public void delete(String resourceGroupName, String hcpOpenShiftClusterName, String externalAuthName,
+ Context context) {
+ this.serviceClient().delete(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, context);
+ }
+
+ public PagedIterable listByParent(String resourceGroupName, String hcpOpenShiftClusterName) {
+ PagedIterable inner
+ = this.serviceClient().listByParent(resourceGroupName, hcpOpenShiftClusterName);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new ExternalAuthImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByParent(String resourceGroupName, String hcpOpenShiftClusterName,
+ Context context) {
+ PagedIterable inner
+ = this.serviceClient().listByParent(resourceGroupName, hcpOpenShiftClusterName, context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new ExternalAuthImpl(inner1, this.manager()));
+ }
+
+ public ExternalAuth getById(String id) {
+ String resourceGroupName = ResourceManagerUtils.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 hcpOpenShiftClusterName = ResourceManagerUtils.getValueFromIdByName(id, "hcpOpenShiftClusters");
+ if (hcpOpenShiftClusterName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'hcpOpenShiftClusters'.", id)));
+ }
+ String externalAuthName = ResourceManagerUtils.getValueFromIdByName(id, "externalAuths");
+ if (externalAuthName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'externalAuths'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, Context.NONE)
+ .getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = ResourceManagerUtils.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 hcpOpenShiftClusterName = ResourceManagerUtils.getValueFromIdByName(id, "hcpOpenShiftClusters");
+ if (hcpOpenShiftClusterName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'hcpOpenShiftClusters'.", id)));
+ }
+ String externalAuthName = ResourceManagerUtils.getValueFromIdByName(id, "externalAuths");
+ if (externalAuthName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'externalAuths'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = ResourceManagerUtils.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 hcpOpenShiftClusterName = ResourceManagerUtils.getValueFromIdByName(id, "hcpOpenShiftClusters");
+ if (hcpOpenShiftClusterName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'hcpOpenShiftClusters'.", id)));
+ }
+ String externalAuthName = ResourceManagerUtils.getValueFromIdByName(id, "externalAuths");
+ if (externalAuthName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'externalAuths'.", id)));
+ }
+ this.delete(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = ResourceManagerUtils.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 hcpOpenShiftClusterName = ResourceManagerUtils.getValueFromIdByName(id, "hcpOpenShiftClusters");
+ if (hcpOpenShiftClusterName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'hcpOpenShiftClusters'.", id)));
+ }
+ String externalAuthName = ResourceManagerUtils.getValueFromIdByName(id, "externalAuths");
+ if (externalAuthName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'externalAuths'.", id)));
+ }
+ this.delete(resourceGroupName, hcpOpenShiftClusterName, externalAuthName, context);
+ }
+
+ private ExternalAuthsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager manager() {
+ return this.serviceManager;
+ }
+
+ public ExternalAuthImpl define(String name) {
+ return new ExternalAuthImpl(name, this.manager());
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/HcpOpenShiftClusterAdminCredentialImpl.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/HcpOpenShiftClusterAdminCredentialImpl.java
new file mode 100644
index 000000000000..ab0b65d15c9e
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/HcpOpenShiftClusterAdminCredentialImpl.java
@@ -0,0 +1,37 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.implementation;
+
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.HcpOpenShiftClusterAdminCredentialInner;
+import com.azure.resourcemanager.redhatopenshifthcp.models.HcpOpenShiftClusterAdminCredential;
+import java.time.OffsetDateTime;
+
+public final class HcpOpenShiftClusterAdminCredentialImpl implements HcpOpenShiftClusterAdminCredential {
+ private HcpOpenShiftClusterAdminCredentialInner innerObject;
+
+ private final com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager serviceManager;
+
+ HcpOpenShiftClusterAdminCredentialImpl(HcpOpenShiftClusterAdminCredentialInner innerObject,
+ com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String kubeconfig() {
+ return this.innerModel().kubeconfig();
+ }
+
+ public OffsetDateTime expirationTimestamp() {
+ return this.innerModel().expirationTimestamp();
+ }
+
+ public HcpOpenShiftClusterAdminCredentialInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/HcpOpenShiftClusterImpl.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/HcpOpenShiftClusterImpl.java
new file mode 100644
index 000000000000..9e8329d4e024
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/HcpOpenShiftClusterImpl.java
@@ -0,0 +1,198 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.HcpOpenShiftClusterInner;
+import com.azure.resourcemanager.redhatopenshifthcp.models.HcpOpenShiftCluster;
+import com.azure.resourcemanager.redhatopenshifthcp.models.HcpOpenShiftClusterAdminCredential;
+import com.azure.resourcemanager.redhatopenshifthcp.models.HcpOpenShiftClusterAdminCredentialRequest;
+import com.azure.resourcemanager.redhatopenshifthcp.models.HcpOpenShiftClusterProperties;
+import com.azure.resourcemanager.redhatopenshifthcp.models.ManagedServiceIdentity;
+import java.util.Collections;
+import java.util.Map;
+
+public final class HcpOpenShiftClusterImpl
+ implements HcpOpenShiftCluster, HcpOpenShiftCluster.Definition, HcpOpenShiftCluster.Update {
+ private HcpOpenShiftClusterInner innerObject;
+
+ private final com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager 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 HcpOpenShiftClusterProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public ManagedServiceIdentity identity() {
+ return this.innerModel().identity();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public HcpOpenShiftClusterInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String hcpOpenShiftClusterName;
+
+ public HcpOpenShiftClusterImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public HcpOpenShiftCluster create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getHcpOpenShiftClusters()
+ .createOrUpdate(resourceGroupName, hcpOpenShiftClusterName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public HcpOpenShiftCluster create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getHcpOpenShiftClusters()
+ .createOrUpdate(resourceGroupName, hcpOpenShiftClusterName, this.innerModel(), context);
+ return this;
+ }
+
+ HcpOpenShiftClusterImpl(String name,
+ com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager serviceManager) {
+ this.innerObject = new HcpOpenShiftClusterInner();
+ this.serviceManager = serviceManager;
+ this.hcpOpenShiftClusterName = name;
+ }
+
+ public HcpOpenShiftClusterImpl update() {
+ return this;
+ }
+
+ public HcpOpenShiftCluster apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getHcpOpenShiftClusters()
+ .update(resourceGroupName, hcpOpenShiftClusterName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public HcpOpenShiftCluster apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getHcpOpenShiftClusters()
+ .update(resourceGroupName, hcpOpenShiftClusterName, this.innerModel(), context);
+ return this;
+ }
+
+ HcpOpenShiftClusterImpl(HcpOpenShiftClusterInner innerObject,
+ com.azure.resourcemanager.redhatopenshifthcp.RedHatOpenShiftHostedControlPlanesManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.hcpOpenShiftClusterName
+ = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "hcpOpenShiftClusters");
+ }
+
+ public HcpOpenShiftCluster refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getHcpOpenShiftClusters()
+ .getByResourceGroupWithResponse(resourceGroupName, hcpOpenShiftClusterName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public HcpOpenShiftCluster refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getHcpOpenShiftClusters()
+ .getByResourceGroupWithResponse(resourceGroupName, hcpOpenShiftClusterName, context)
+ .getValue();
+ return this;
+ }
+
+ public HcpOpenShiftClusterAdminCredential requestAdminCredential(HcpOpenShiftClusterAdminCredentialRequest body) {
+ return serviceManager.hcpOpenShiftClusters()
+ .requestAdminCredential(resourceGroupName, hcpOpenShiftClusterName, body);
+ }
+
+ public HcpOpenShiftClusterAdminCredential requestAdminCredential(HcpOpenShiftClusterAdminCredentialRequest body,
+ Context context) {
+ return serviceManager.hcpOpenShiftClusters()
+ .requestAdminCredential(resourceGroupName, hcpOpenShiftClusterName, body, context);
+ }
+
+ public void revokeCredentials() {
+ serviceManager.hcpOpenShiftClusters().revokeCredentials(resourceGroupName, hcpOpenShiftClusterName);
+ }
+
+ public void revokeCredentials(Context context) {
+ serviceManager.hcpOpenShiftClusters().revokeCredentials(resourceGroupName, hcpOpenShiftClusterName, context);
+ }
+
+ public HcpOpenShiftClusterImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public HcpOpenShiftClusterImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public HcpOpenShiftClusterImpl withTags(Map tags) {
+ this.innerModel().withTags(tags);
+ return this;
+ }
+
+ public HcpOpenShiftClusterImpl withProperties(HcpOpenShiftClusterProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+
+ public HcpOpenShiftClusterImpl withIdentity(ManagedServiceIdentity identity) {
+ this.innerModel().withIdentity(identity);
+ return this;
+ }
+}
diff --git a/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/HcpOpenShiftClustersClientImpl.java b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/HcpOpenShiftClustersClientImpl.java
new file mode 100644
index 000000000000..32fb9bd26281
--- /dev/null
+++ b/sdk/redhatopenshifthcp/azure-resourcemanager-redhatopenshifthcp/src/main/java/com/azure/resourcemanager/redhatopenshifthcp/implementation/HcpOpenShiftClustersClientImpl.java
@@ -0,0 +1,1501 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.redhatopenshifthcp.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.BinaryData;
+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.redhatopenshifthcp.fluent.HcpOpenShiftClustersClient;
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.HcpOpenShiftClusterAdminCredentialInner;
+import com.azure.resourcemanager.redhatopenshifthcp.fluent.models.HcpOpenShiftClusterInner;
+import com.azure.resourcemanager.redhatopenshifthcp.implementation.models.HcpOpenShiftClusterListResult;
+import com.azure.resourcemanager.redhatopenshifthcp.models.HcpOpenShiftClusterAdminCredentialRequest;
+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 HcpOpenShiftClustersClient.
+ */
+public final class HcpOpenShiftClustersClientImpl implements HcpOpenShiftClustersClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final HcpOpenShiftClustersService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final RedHatOpenShiftHostedControlPlanesManagementClientImpl client;
+
+ /**
+ * Initializes an instance of HcpOpenShiftClustersClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ HcpOpenShiftClustersClientImpl(RedHatOpenShiftHostedControlPlanesManagementClientImpl client) {
+ this.service = RestProxy.create(HcpOpenShiftClustersService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for
+ * RedHatOpenShiftHostedControlPlanesManagementClientHcpOpenShiftClusters to be used by the proxy service to perform
+ * REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "RedHatOpenShiftHostedControlPlanesManagementClientHcpOpenShiftClusters")
+ public interface HcpOpenShiftClustersService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response getByResourceGroupSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") HcpOpenShiftClusterInner resource, Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response createOrUpdateSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") HcpOpenShiftClusterInner resource, Context context);
+
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") HcpOpenShiftClusterInner properties, Context context);
+
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response updateSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") HcpOpenShiftClusterInner properties, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response deleteSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByResourceGroupSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(@HostParam("endpoint") String endpoint,
+ @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.RedHatOpenShift/hcpOpenShiftClusters")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/requestAdminCredential")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> requestAdminCredential(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") HcpOpenShiftClusterAdminCredentialRequest body, Context context);
+
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/requestAdminCredential")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response requestAdminCredentialSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") HcpOpenShiftClusterAdminCredentialRequest body, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/revokeCredentials")
+ @ExpectedResponses({ 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> revokeCredentials(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/hcpOpenShiftClusters/{hcpOpenShiftClusterName}/revokeCredentials")
+ @ExpectedResponses({ 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response revokeCredentialsSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("hcpOpenShiftClusterName") String hcpOpenShiftClusterName, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroupNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByResourceGroupNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") 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("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listBySubscriptionNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * Get a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 HcpOpenShiftCluster along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.getByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 HcpOpenShiftCluster on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByResourceGroupAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, hcpOpenShiftClusterName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 HcpOpenShiftCluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByResourceGroupWithResponse(String resourceGroupName,
+ String hcpOpenShiftClusterName, Context context) {
+ final String accept = "application/json";
+ return service.getByResourceGroupSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, accept, context);
+ }
+
+ /**
+ * Get a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 HcpOpenShiftCluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public HcpOpenShiftClusterInner getByResourceGroup(String resourceGroupName, String hcpOpenShiftClusterName) {
+ return getByResourceGroupWithResponse(resourceGroupName, hcpOpenShiftClusterName, Context.NONE).getValue();
+ }
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, contentType, accept,
+ resource, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, contentType, accept, resource,
+ Context.NONE);
+ }
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner resource, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, contentType, accept, resource,
+ context);
+ }
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, HcpOpenShiftClusterInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String hcpOpenShiftClusterName, HcpOpenShiftClusterInner resource) {
+ Mono>> mono
+ = createOrUpdateWithResponseAsync(resourceGroupName, hcpOpenShiftClusterName, resource);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), HcpOpenShiftClusterInner.class, HcpOpenShiftClusterInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, HcpOpenShiftClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String hcpOpenShiftClusterName, HcpOpenShiftClusterInner resource) {
+ Response response
+ = createOrUpdateWithResponse(resourceGroupName, hcpOpenShiftClusterName, resource);
+ return this.client.getLroResult(response,
+ HcpOpenShiftClusterInner.class, HcpOpenShiftClusterInner.class, Context.NONE);
+ }
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, HcpOpenShiftClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String hcpOpenShiftClusterName, HcpOpenShiftClusterInner resource, Context context) {
+ Response response
+ = createOrUpdateWithResponse(resourceGroupName, hcpOpenShiftClusterName, resource, context);
+ return this.client.getLroResult(response,
+ HcpOpenShiftClusterInner.class, HcpOpenShiftClusterInner.class, context);
+ }
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner resource) {
+ return beginCreateOrUpdateAsync(resourceGroupName, hcpOpenShiftClusterName, resource).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public HcpOpenShiftClusterInner createOrUpdate(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner resource) {
+ return beginCreateOrUpdate(resourceGroupName, hcpOpenShiftClusterName, resource).getFinalResult();
+ }
+
+ /**
+ * Create a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param resource Resource create parameters.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public HcpOpenShiftClusterInner createOrUpdate(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner resource, Context context) {
+ return beginCreateOrUpdate(resourceGroupName, hcpOpenShiftClusterName, resource, context).getFinalResult();
+ }
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterInner properties) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.update(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, contentType, accept,
+ properties, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response updateWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner properties) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.updateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, contentType, accept,
+ properties, Context.NONE);
+ }
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response updateWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner properties, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.updateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, contentType, accept,
+ properties, context);
+ }
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, HcpOpenShiftClusterInner> beginUpdateAsync(
+ String resourceGroupName, String hcpOpenShiftClusterName, HcpOpenShiftClusterInner properties) {
+ Mono>> mono
+ = updateWithResponseAsync(resourceGroupName, hcpOpenShiftClusterName, properties);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), HcpOpenShiftClusterInner.class, HcpOpenShiftClusterInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, HcpOpenShiftClusterInner>
+ beginUpdate(String resourceGroupName, String hcpOpenShiftClusterName, HcpOpenShiftClusterInner properties) {
+ Response response = updateWithResponse(resourceGroupName, hcpOpenShiftClusterName, properties);
+ return this.client.getLroResult(response,
+ HcpOpenShiftClusterInner.class, HcpOpenShiftClusterInner.class, Context.NONE);
+ }
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, HcpOpenShiftClusterInner> beginUpdate(
+ String resourceGroupName, String hcpOpenShiftClusterName, HcpOpenShiftClusterInner properties,
+ Context context) {
+ Response response
+ = updateWithResponse(resourceGroupName, hcpOpenShiftClusterName, properties, context);
+ return this.client.getLroResult(response,
+ HcpOpenShiftClusterInner.class, HcpOpenShiftClusterInner.class, context);
+ }
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner properties) {
+ return beginUpdateAsync(resourceGroupName, hcpOpenShiftClusterName, properties).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public HcpOpenShiftClusterInner update(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner properties) {
+ return beginUpdate(resourceGroupName, hcpOpenShiftClusterName, properties).getFinalResult();
+ }
+
+ /**
+ * Update a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param properties The resource properties to be updated.
+ * @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 hCP cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public HcpOpenShiftClusterInner update(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterInner properties, Context context) {
+ return beginUpdate(resourceGroupName, hcpOpenShiftClusterName, properties, context).getFinalResult();
+ }
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName) {
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String hcpOpenShiftClusterName) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, Context.NONE);
+ }
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ Context context) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, context);
+ }
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName) {
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, hcpOpenShiftClusterName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName) {
+ Response response = deleteWithResponse(resourceGroupName, hcpOpenShiftClusterName);
+ return this.client.getLroResult(response, Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName,
+ Context context) {
+ Response response = deleteWithResponse(resourceGroupName, hcpOpenShiftClusterName, context);
+ return this.client.getLroResult(response, Void.class, Void.class, context);
+ }
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName) {
+ return beginDeleteAsync(resourceGroupName, hcpOpenShiftClusterName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName) {
+ beginDelete(resourceGroupName, hcpOpenShiftClusterName).getFinalResult();
+ }
+
+ /**
+ * Delete a HcpOpenShiftCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 hcpOpenShiftClusterName, Context context) {
+ beginDelete(resourceGroupName, hcpOpenShiftClusterName, context).getFinalResult();
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 response of a HcpOpenShiftCluster list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, 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()));
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 response of a HcpOpenShiftCluster list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName) {
+ return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 response of a HcpOpenShiftCluster list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupSinglePage(String resourceGroupName) {
+ final String accept = "application/json";
+ Response res = service.listByResourceGroupSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by resource group.
+ *
+ * @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 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 response of a HcpOpenShiftCluster list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupSinglePage(String resourceGroupName,
+ Context context) {
+ final String accept = "application/json";
+ Response res = service.listByResourceGroupSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 response of a HcpOpenShiftCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ return new PagedIterable<>(() -> listByResourceGroupSinglePage(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePage(nextLink));
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by resource group.
+ *
+ * @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 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 response of a HcpOpenShiftCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ return new PagedIterable<>(() -> listByResourceGroupSinglePage(resourceGroupName, context),
+ nextLink -> listByResourceGroupNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by subscription ID.
+ *
+ * @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 response of a HcpOpenShiftCluster list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.list(this.client.getEndpoint(), 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()));
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by subscription ID.
+ *
+ * @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 response of a HcpOpenShiftCluster list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(() -> listSinglePageAsync(),
+ nextLink -> listBySubscriptionNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by subscription ID.
+ *
+ * @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 response of a HcpOpenShiftCluster list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listSinglePage() {
+ final String accept = "application/json";
+ Response res = service.listSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by subscription ID.
+ *
+ * @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 response of a HcpOpenShiftCluster list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listSinglePage(Context context) {
+ final String accept = "application/json";
+ Response res = service.listSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by subscription ID.
+ *
+ * @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 response of a HcpOpenShiftCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(() -> listSinglePage(), nextLink -> listBySubscriptionNextSinglePage(nextLink));
+ }
+
+ /**
+ * List HcpOpenShiftCluster resources by subscription ID.
+ *
+ * @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 response of a HcpOpenShiftCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(() -> listSinglePage(context),
+ nextLink -> listBySubscriptionNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> requestAdminCredentialWithResponseAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterAdminCredentialRequest body) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.requestAdminCredential(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName,
+ hcpOpenShiftClusterName, contentType, accept, body, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response requestAdminCredentialWithResponse(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterAdminCredentialRequest body) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.requestAdminCredentialSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, contentType, accept, body,
+ Context.NONE);
+ }
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response requestAdminCredentialWithResponse(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterAdminCredentialRequest body, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.requestAdminCredentialSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, contentType, accept, body,
+ context);
+ }
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, HcpOpenShiftClusterAdminCredentialInner>
+ beginRequestAdminCredentialAsync(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterAdminCredentialRequest body) {
+ Mono>> mono
+ = requestAdminCredentialWithResponseAsync(resourceGroupName, hcpOpenShiftClusterName, body);
+ return this.client
+ .getLroResult(mono,
+ this.client.getHttpPipeline(), HcpOpenShiftClusterAdminCredentialInner.class,
+ HcpOpenShiftClusterAdminCredentialInner.class, this.client.getContext());
+ }
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, HcpOpenShiftClusterAdminCredentialInner>
+ beginRequestAdminCredential(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterAdminCredentialRequest body) {
+ Response response
+ = requestAdminCredentialWithResponse(resourceGroupName, hcpOpenShiftClusterName, body);
+ return this.client
+ .getLroResult(response,
+ HcpOpenShiftClusterAdminCredentialInner.class, HcpOpenShiftClusterAdminCredentialInner.class,
+ Context.NONE);
+ }
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, HcpOpenShiftClusterAdminCredentialInner>
+ beginRequestAdminCredential(String resourceGroupName, String hcpOpenShiftClusterName,
+ HcpOpenShiftClusterAdminCredentialRequest body, Context context) {
+ Response response
+ = requestAdminCredentialWithResponse(resourceGroupName, hcpOpenShiftClusterName, body, context);
+ return this.client
+ .getLroResult(response,
+ HcpOpenShiftClusterAdminCredentialInner.class, HcpOpenShiftClusterAdminCredentialInner.class, context);
+ }
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono requestAdminCredentialAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterAdminCredentialRequest body) {
+ return beginRequestAdminCredentialAsync(resourceGroupName, hcpOpenShiftClusterName, body).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public HcpOpenShiftClusterAdminCredentialInner requestAdminCredential(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterAdminCredentialRequest body) {
+ return beginRequestAdminCredential(resourceGroupName, hcpOpenShiftClusterName, body).getFinalResult();
+ }
+
+ /**
+ * Request a temporary admin kubeconfig for the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @param body The content of the action request.
+ * @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 hCP cluster admin credential.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public HcpOpenShiftClusterAdminCredentialInner requestAdminCredential(String resourceGroupName,
+ String hcpOpenShiftClusterName, HcpOpenShiftClusterAdminCredentialRequest body, Context context) {
+ return beginRequestAdminCredential(resourceGroupName, hcpOpenShiftClusterName, body, context).getFinalResult();
+ }
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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>> revokeCredentialsWithResponseAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName) {
+ return FluxUtil
+ .withContext(context -> service.revokeCredentials(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response revokeCredentialsWithResponse(String resourceGroupName,
+ String hcpOpenShiftClusterName) {
+ return service.revokeCredentialsSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, Context.NONE);
+ }
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 response body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response revokeCredentialsWithResponse(String resourceGroupName, String hcpOpenShiftClusterName,
+ Context context) {
+ return service.revokeCredentialsSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, hcpOpenShiftClusterName, context);
+ }
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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> beginRevokeCredentialsAsync(String resourceGroupName,
+ String hcpOpenShiftClusterName) {
+ Mono>> mono
+ = revokeCredentialsWithResponseAsync(resourceGroupName, hcpOpenShiftClusterName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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> beginRevokeCredentials(String resourceGroupName,
+ String hcpOpenShiftClusterName) {
+ Response response = revokeCredentialsWithResponse(resourceGroupName, hcpOpenShiftClusterName);
+ return this.client.getLroResult(response, Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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> beginRevokeCredentials(String resourceGroupName,
+ String hcpOpenShiftClusterName, Context context) {
+ Response response
+ = revokeCredentialsWithResponse(resourceGroupName, hcpOpenShiftClusterName, context);
+ return this.client.getLroResult(response, Void.class, Void.class, context);
+ }
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 revokeCredentialsAsync(String resourceGroupName, String hcpOpenShiftClusterName) {
+ return beginRevokeCredentialsAsync(resourceGroupName, hcpOpenShiftClusterName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 revokeCredentials(String resourceGroupName, String hcpOpenShiftClusterName) {
+ beginRevokeCredentials(resourceGroupName, hcpOpenShiftClusterName).getFinalResult();
+ }
+
+ /**
+ * Revoke all credentials issued by requestAdminCredential.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param hcpOpenShiftClusterName The name of the HcpOpenShiftCluster.
+ * @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 revokeCredentials(String resourceGroupName, String hcpOpenShiftClusterName, Context context) {
+ beginRevokeCredentials(resourceGroupName, hcpOpenShiftClusterName, context).getFinalResult();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @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 response of a HcpOpenShiftCluster list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(String nextLink) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByResourceGroupNext(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.
+ * @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 response of a HcpOpenShiftCluster list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupNextSinglePage(String nextLink) {
+ final String accept = "application/json";
+ Response