diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index c264809e6f648..9f36293c7669f 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -191,6 +191,7 @@ com.azure.resourcemanager:azure-resourcemanager-kusto;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-loganalytics;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-eventgrid;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-healthbot;1.0.0-beta.1;1.0.0-beta.1
+com.azure.resourcemanager:azure-resourcemanager-kubernetesconfiguration;1.0.0-beta.1;1.0.0-beta.1
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/CHANGELOG.md b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/CHANGELOG.md
new file mode 100644
index 0000000000000..3f6629127a833
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-01-08)
+
+- Azure Resource Manager SourceControlConfiguration client library for Java. This package contains Microsoft Azure SDK for SourceControlConfiguration Management SDK. Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters. Package tag package-preview-2020-10. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
\ No newline at end of file
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/README.md b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/README.md
new file mode 100644
index 0000000000000..7baae67f021b9
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/README.md
@@ -0,0 +1,83 @@
+# Azure Resource Manager SourceControlConfiguration client library for Java
+
+Azure Resource Manager SourceControlConfiguration client library for Java.
+
+This package contains Microsoft Azure SDK for SourceControlConfiguration Management SDK. Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters. Package tag package-preview-2020-10. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-kubernetesconfiguration;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-kubernetesconfiguration
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+SourceControlConfigurationManager manager = SourceControlConfigurationManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml
new file mode 100644
index 0000000000000..6168867d335dc
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml
@@ -0,0 +1,62 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-kubernetesconfiguration
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for SourceControlConfiguration Management
+ This package contains Microsoft Azure SDK for SourceControlConfiguration Management SDK. Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters. Package tag package-preview-2020-10. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core-management
+ 1.0.0
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+
+
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/SourceControlConfigurationManager.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/SourceControlConfigurationManager.java
new file mode 100644
index 0000000000000..3119ce757a6b3
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/SourceControlConfigurationManager.java
@@ -0,0 +1,218 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.SourceControlConfigurationClient;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.OperationsImpl;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.SourceControlConfigurationClientBuilder;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.SourceControlConfigurationsImpl;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Operations;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SourceControlConfigurations;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * Entry point to SourceControlConfigurationManager. Use these APIs to create Source Control Configuration resources
+ * through ARM, for Kubernetes Clusters.
+ */
+public final class SourceControlConfigurationManager {
+ private SourceControlConfigurations sourceControlConfigurations;
+
+ private Operations operations;
+
+ private final SourceControlConfigurationClient clientObject;
+
+ private SourceControlConfigurationManager(
+ HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new SourceControlConfigurationClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of SourceControlConfiguration service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the SourceControlConfiguration service API instance.
+ */
+ public static SourceControlConfigurationManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create SourceControlConfigurationManager with optional
+ * configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new SourceControlConfigurationManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ 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;
+ }
+
+ /**
+ * 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 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, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of SourceControlConfiguration service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the SourceControlConfiguration service API instance.
+ */
+ public SourceControlConfigurationManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ if (retryPolicy == null) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies
+ .add(
+ new UserAgentPolicy(
+ null,
+ "com.azure.resourcemanager.kubernetesconfiguration",
+ "1.0.0-beta.1",
+ Configuration.getGlobalConfiguration()));
+ policies.add(new RequestIdPolicy());
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies
+ .add(
+ new BearerTokenAuthenticationPolicy(
+ credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new SourceControlConfigurationManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of SourceControlConfigurations. */
+ public SourceControlConfigurations sourceControlConfigurations() {
+ if (this.sourceControlConfigurations == null) {
+ this.sourceControlConfigurations =
+ new SourceControlConfigurationsImpl(clientObject.getSourceControlConfigurations(), this);
+ }
+ return sourceControlConfigurations;
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * @return Wrapped service client SourceControlConfigurationClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ */
+ public SourceControlConfigurationClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/OperationsClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/OperationsClient.java
new file mode 100644
index 0000000000000..05a3722376503
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/OperationsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.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.kubernetesconfiguration.fluent.models.ResourceProviderOperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * List all the available operations the KubernetesConfiguration resource provider supports.
+ *
+ * @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 result of the request to list operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List all the available operations the KubernetesConfiguration resource provider supports.
+ *
+ * @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 result of the request to list operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/SourceControlConfigurationClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/SourceControlConfigurationClient.java
new file mode 100644
index 0000000000000..659028b4939a1
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/SourceControlConfigurationClient.java
@@ -0,0 +1,60 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for SourceControlConfigurationClient class. */
+public interface SourceControlConfigurationClient {
+ /**
+ * Gets The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * 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 SourceControlConfigurationsClient object to access its operations.
+ *
+ * @return the SourceControlConfigurationsClient object.
+ */
+ SourceControlConfigurationsClient getSourceControlConfigurations();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/SourceControlConfigurationsClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/SourceControlConfigurationsClient.java
new file mode 100644
index 0000000000000..66cfdab965d31
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/SourceControlConfigurationsClient.java
@@ -0,0 +1,261 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.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.kubernetesconfiguration.fluent.models.SourceControlConfigurationInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SourceControlConfigurationsClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SourceControlConfigurationsClusterRp;
+
+/** An instance of this class provides access to all the operations defined in SourceControlConfigurationsClient. */
+public interface SourceControlConfigurationsClient {
+ /**
+ * Gets details of the Source Control Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterRp The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or
+ * Microsoft.Kubernetes (for OnPrem K8S clusters).
+ * @param clusterResourceName The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or
+ * connectedClusters (for OnPrem K8S clusters).
+ * @param clusterName The name of the kubernetes cluster.
+ * @param sourceControlConfigurationName Name of the Source Control Configuration.
+ * @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 details of the Source Control Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SourceControlConfigurationInner get(
+ String resourceGroupName,
+ SourceControlConfigurationsClusterRp clusterRp,
+ SourceControlConfigurationsClusterResourceName clusterResourceName,
+ String clusterName,
+ String sourceControlConfigurationName);
+
+ /**
+ * Gets details of the Source Control Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterRp The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or
+ * Microsoft.Kubernetes (for OnPrem K8S clusters).
+ * @param clusterResourceName The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or
+ * connectedClusters (for OnPrem K8S clusters).
+ * @param clusterName The name of the kubernetes cluster.
+ * @param sourceControlConfigurationName Name of the Source Control Configuration.
+ * @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 details of the Source Control Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ SourceControlConfigurationsClusterRp clusterRp,
+ SourceControlConfigurationsClusterResourceName clusterResourceName,
+ String clusterName,
+ String sourceControlConfigurationName,
+ Context context);
+
+ /**
+ * Create a new Kubernetes Source Control Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterRp The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or
+ * Microsoft.Kubernetes (for OnPrem K8S clusters).
+ * @param clusterResourceName The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or
+ * connectedClusters (for OnPrem K8S clusters).
+ * @param clusterName The name of the kubernetes cluster.
+ * @param sourceControlConfigurationName Name of the Source Control Configuration.
+ * @param sourceControlConfiguration Properties necessary to Create KubernetesConfiguration.
+ * @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 SourceControl Configuration object returned in Get & Put response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SourceControlConfigurationInner createOrUpdate(
+ String resourceGroupName,
+ SourceControlConfigurationsClusterRp clusterRp,
+ SourceControlConfigurationsClusterResourceName clusterResourceName,
+ String clusterName,
+ String sourceControlConfigurationName,
+ SourceControlConfigurationInner sourceControlConfiguration);
+
+ /**
+ * Create a new Kubernetes Source Control Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterRp The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or
+ * Microsoft.Kubernetes (for OnPrem K8S clusters).
+ * @param clusterResourceName The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or
+ * connectedClusters (for OnPrem K8S clusters).
+ * @param clusterName The name of the kubernetes cluster.
+ * @param sourceControlConfigurationName Name of the Source Control Configuration.
+ * @param sourceControlConfiguration Properties necessary to Create KubernetesConfiguration.
+ * @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 SourceControl Configuration object returned in Get & Put response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ SourceControlConfigurationsClusterRp clusterRp,
+ SourceControlConfigurationsClusterResourceName clusterResourceName,
+ String clusterName,
+ String sourceControlConfigurationName,
+ SourceControlConfigurationInner sourceControlConfiguration,
+ Context context);
+
+ /**
+ * This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from
+ * the source repo.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterRp The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or
+ * Microsoft.Kubernetes (for OnPrem K8S clusters).
+ * @param clusterResourceName The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or
+ * connectedClusters (for OnPrem K8S clusters).
+ * @param clusterName The name of the kubernetes cluster.
+ * @param sourceControlConfigurationName Name of the Source Control Configuration.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ SourceControlConfigurationsClusterRp clusterRp,
+ SourceControlConfigurationsClusterResourceName clusterResourceName,
+ String clusterName,
+ String sourceControlConfigurationName);
+
+ /**
+ * This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from
+ * the source repo.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterRp The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or
+ * Microsoft.Kubernetes (for OnPrem K8S clusters).
+ * @param clusterResourceName The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or
+ * connectedClusters (for OnPrem K8S clusters).
+ * @param clusterName The name of the kubernetes cluster.
+ * @param sourceControlConfigurationName Name of the Source Control Configuration.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ SourceControlConfigurationsClusterRp clusterRp,
+ SourceControlConfigurationsClusterResourceName clusterResourceName,
+ String clusterName,
+ String sourceControlConfigurationName,
+ Context context);
+
+ /**
+ * This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from
+ * the source repo.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterRp The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or
+ * Microsoft.Kubernetes (for OnPrem K8S clusters).
+ * @param clusterResourceName The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or
+ * connectedClusters (for OnPrem K8S clusters).
+ * @param clusterName The name of the kubernetes cluster.
+ * @param sourceControlConfigurationName Name of the Source Control Configuration.
+ * @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,
+ SourceControlConfigurationsClusterRp clusterRp,
+ SourceControlConfigurationsClusterResourceName clusterResourceName,
+ String clusterName,
+ String sourceControlConfigurationName);
+
+ /**
+ * This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from
+ * the source repo.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterRp The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or
+ * Microsoft.Kubernetes (for OnPrem K8S clusters).
+ * @param clusterResourceName The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or
+ * connectedClusters (for OnPrem K8S clusters).
+ * @param clusterName The name of the kubernetes cluster.
+ * @param sourceControlConfigurationName Name of the Source Control Configuration.
+ * @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,
+ SourceControlConfigurationsClusterRp clusterRp,
+ SourceControlConfigurationsClusterResourceName clusterResourceName,
+ String clusterName,
+ String sourceControlConfigurationName,
+ Context context);
+
+ /**
+ * List all Source Control Configurations.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterRp The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or
+ * Microsoft.Kubernetes (for OnPrem K8S clusters).
+ * @param clusterResourceName The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or
+ * connectedClusters (for OnPrem K8S clusters).
+ * @param clusterName The name of the kubernetes cluster.
+ * @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 result of the request to list Source Control Configurations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ SourceControlConfigurationsClusterRp clusterRp,
+ SourceControlConfigurationsClusterResourceName clusterResourceName,
+ String clusterName);
+
+ /**
+ * List all Source Control Configurations.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param clusterRp The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or
+ * Microsoft.Kubernetes (for OnPrem K8S clusters).
+ * @param clusterResourceName The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or
+ * connectedClusters (for OnPrem K8S clusters).
+ * @param clusterName The name of the kubernetes cluster.
+ * @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 result of the request to list Source Control Configurations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ SourceControlConfigurationsClusterRp clusterRp,
+ SourceControlConfigurationsClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context);
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ResourceProviderOperationInner.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ResourceProviderOperationInner.java
new file mode 100644
index 0000000000000..bf530e97fea4e
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ResourceProviderOperationInner.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ResourceProviderOperationDisplay;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Supported operation of this resource provider. */
+@Fluent
+public final class ResourceProviderOperationInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ResourceProviderOperationInner.class);
+
+ /*
+ * Operation name, in format of {provider}/{resource}/{operation}
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * Display metadata associated with the operation.
+ */
+ @JsonProperty(value = "display")
+ private ResourceProviderOperationDisplay display;
+
+ /*
+ * The flag that indicates whether the operation applies to data plane.
+ */
+ @JsonProperty(value = "isDataAction", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isDataAction;
+
+ /**
+ * Get the name property: Operation name, in format of {provider}/{resource}/{operation}.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Operation name, in format of {provider}/{resource}/{operation}.
+ *
+ * @param name the name value to set.
+ * @return the ResourceProviderOperationInner object itself.
+ */
+ public ResourceProviderOperationInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the display property: Display metadata associated with the operation.
+ *
+ * @return the display value.
+ */
+ public ResourceProviderOperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Display metadata associated with the operation.
+ *
+ * @param display the display value to set.
+ * @return the ResourceProviderOperationInner object itself.
+ */
+ public ResourceProviderOperationInner withDisplay(ResourceProviderOperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the isDataAction property: The flag that indicates whether the operation applies to data plane.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/SourceControlConfigurationInner.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/SourceControlConfigurationInner.java
new file mode 100644
index 0000000000000..74260e2bdd49e
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/SourceControlConfigurationInner.java
@@ -0,0 +1,389 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ComplianceStatus;
+import com.azure.resourcemanager.kubernetesconfiguration.models.HelmOperatorProperties;
+import com.azure.resourcemanager.kubernetesconfiguration.models.OperatorScopeType;
+import com.azure.resourcemanager.kubernetesconfiguration.models.OperatorType;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ProvisioningStateType;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SystemData;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** The SourceControl Configuration object returned in Get & Put response. */
+@JsonFlatten
+@Fluent
+public class SourceControlConfigurationInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SourceControlConfigurationInner.class);
+
+ /*
+ * Url of the SourceControl Repository.
+ */
+ @JsonProperty(value = "properties.repositoryUrl")
+ private String repositoryUrl;
+
+ /*
+ * The namespace to which this operator is installed to. Maximum of 253
+ * lower case alphanumeric characters, hyphen and period only.
+ */
+ @JsonProperty(value = "properties.operatorNamespace")
+ private String operatorNamespace;
+
+ /*
+ * Instance name of the operator - identifying the specific configuration.
+ */
+ @JsonProperty(value = "properties.operatorInstanceName")
+ private String operatorInstanceName;
+
+ /*
+ * Type of the operator
+ */
+ @JsonProperty(value = "properties.operatorType")
+ private OperatorType operatorType;
+
+ /*
+ * Any Parameters for the Operator instance in string format.
+ */
+ @JsonProperty(value = "properties.operatorParams")
+ private String operatorParams;
+
+ /*
+ * Name-value pairs of protected configuration settings for the
+ * configuration
+ */
+ @JsonProperty(value = "properties.configurationProtectedSettings")
+ private Map configurationProtectedSettings;
+
+ /*
+ * Scope at which the operator will be installed.
+ */
+ @JsonProperty(value = "properties.operatorScope")
+ private OperatorScopeType operatorScope;
+
+ /*
+ * Public Key associated with this SourceControl configuration (either
+ * generated within the cluster or provided by the user).
+ */
+ @JsonProperty(value = "properties.repositoryPublicKey", access = JsonProperty.Access.WRITE_ONLY)
+ private String repositoryPublicKey;
+
+ /*
+ * Base64-encoded known_hosts contents containing public SSH keys required
+ * to access private Git instances
+ */
+ @JsonProperty(value = "properties.sshKnownHostsContents")
+ private String sshKnownHostsContents;
+
+ /*
+ * Option to enable Helm Operator for this git configuration.
+ */
+ @JsonProperty(value = "properties.enableHelmOperator")
+ private Boolean enableHelmOperator;
+
+ /*
+ * Properties for Helm operator.
+ */
+ @JsonProperty(value = "properties.helmOperatorProperties")
+ private HelmOperatorProperties helmOperatorProperties;
+
+ /*
+ * The provisioning state of the resource provider.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningStateType provisioningState;
+
+ /*
+ * Compliance Status of the Configuration
+ */
+ @JsonProperty(value = "properties.complianceStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private ComplianceStatus complianceStatus;
+
+ /*
+ * Top level metadata
+ * https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources
+ */
+ @JsonProperty(value = "systemData")
+ private SystemData systemData;
+
+ /**
+ * Get the repositoryUrl property: Url of the SourceControl Repository.
+ *
+ * @return the repositoryUrl value.
+ */
+ public String repositoryUrl() {
+ return this.repositoryUrl;
+ }
+
+ /**
+ * Set the repositoryUrl property: Url of the SourceControl Repository.
+ *
+ * @param repositoryUrl the repositoryUrl value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withRepositoryUrl(String repositoryUrl) {
+ this.repositoryUrl = repositoryUrl;
+ return this;
+ }
+
+ /**
+ * Get the operatorNamespace property: The namespace to which this operator is installed to. Maximum of 253 lower
+ * case alphanumeric characters, hyphen and period only.
+ *
+ * @return the operatorNamespace value.
+ */
+ public String operatorNamespace() {
+ return this.operatorNamespace;
+ }
+
+ /**
+ * Set the operatorNamespace property: The namespace to which this operator is installed to. Maximum of 253 lower
+ * case alphanumeric characters, hyphen and period only.
+ *
+ * @param operatorNamespace the operatorNamespace value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withOperatorNamespace(String operatorNamespace) {
+ this.operatorNamespace = operatorNamespace;
+ return this;
+ }
+
+ /**
+ * Get the operatorInstanceName property: Instance name of the operator - identifying the specific configuration.
+ *
+ * @return the operatorInstanceName value.
+ */
+ public String operatorInstanceName() {
+ return this.operatorInstanceName;
+ }
+
+ /**
+ * Set the operatorInstanceName property: Instance name of the operator - identifying the specific configuration.
+ *
+ * @param operatorInstanceName the operatorInstanceName value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withOperatorInstanceName(String operatorInstanceName) {
+ this.operatorInstanceName = operatorInstanceName;
+ return this;
+ }
+
+ /**
+ * Get the operatorType property: Type of the operator.
+ *
+ * @return the operatorType value.
+ */
+ public OperatorType operatorType() {
+ return this.operatorType;
+ }
+
+ /**
+ * Set the operatorType property: Type of the operator.
+ *
+ * @param operatorType the operatorType value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withOperatorType(OperatorType operatorType) {
+ this.operatorType = operatorType;
+ return this;
+ }
+
+ /**
+ * Get the operatorParams property: Any Parameters for the Operator instance in string format.
+ *
+ * @return the operatorParams value.
+ */
+ public String operatorParams() {
+ return this.operatorParams;
+ }
+
+ /**
+ * Set the operatorParams property: Any Parameters for the Operator instance in string format.
+ *
+ * @param operatorParams the operatorParams value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withOperatorParams(String operatorParams) {
+ this.operatorParams = operatorParams;
+ return this;
+ }
+
+ /**
+ * Get the configurationProtectedSettings property: Name-value pairs of protected configuration settings for the
+ * configuration.
+ *
+ * @return the configurationProtectedSettings value.
+ */
+ public Map configurationProtectedSettings() {
+ return this.configurationProtectedSettings;
+ }
+
+ /**
+ * Set the configurationProtectedSettings property: Name-value pairs of protected configuration settings for the
+ * configuration.
+ *
+ * @param configurationProtectedSettings the configurationProtectedSettings value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withConfigurationProtectedSettings(
+ Map configurationProtectedSettings) {
+ this.configurationProtectedSettings = configurationProtectedSettings;
+ return this;
+ }
+
+ /**
+ * Get the operatorScope property: Scope at which the operator will be installed.
+ *
+ * @return the operatorScope value.
+ */
+ public OperatorScopeType operatorScope() {
+ return this.operatorScope;
+ }
+
+ /**
+ * Set the operatorScope property: Scope at which the operator will be installed.
+ *
+ * @param operatorScope the operatorScope value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withOperatorScope(OperatorScopeType operatorScope) {
+ this.operatorScope = operatorScope;
+ return this;
+ }
+
+ /**
+ * Get the repositoryPublicKey property: Public Key associated with this SourceControl configuration (either
+ * generated within the cluster or provided by the user).
+ *
+ * @return the repositoryPublicKey value.
+ */
+ public String repositoryPublicKey() {
+ return this.repositoryPublicKey;
+ }
+
+ /**
+ * Get the sshKnownHostsContents property: Base64-encoded known_hosts contents containing public SSH keys required
+ * to access private Git instances.
+ *
+ * @return the sshKnownHostsContents value.
+ */
+ public String sshKnownHostsContents() {
+ return this.sshKnownHostsContents;
+ }
+
+ /**
+ * Set the sshKnownHostsContents property: Base64-encoded known_hosts contents containing public SSH keys required
+ * to access private Git instances.
+ *
+ * @param sshKnownHostsContents the sshKnownHostsContents value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withSshKnownHostsContents(String sshKnownHostsContents) {
+ this.sshKnownHostsContents = sshKnownHostsContents;
+ return this;
+ }
+
+ /**
+ * Get the enableHelmOperator property: Option to enable Helm Operator for this git configuration.
+ *
+ * @return the enableHelmOperator value.
+ */
+ public Boolean enableHelmOperator() {
+ return this.enableHelmOperator;
+ }
+
+ /**
+ * Set the enableHelmOperator property: Option to enable Helm Operator for this git configuration.
+ *
+ * @param enableHelmOperator the enableHelmOperator value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withEnableHelmOperator(Boolean enableHelmOperator) {
+ this.enableHelmOperator = enableHelmOperator;
+ return this;
+ }
+
+ /**
+ * Get the helmOperatorProperties property: Properties for Helm operator.
+ *
+ * @return the helmOperatorProperties value.
+ */
+ public HelmOperatorProperties helmOperatorProperties() {
+ return this.helmOperatorProperties;
+ }
+
+ /**
+ * Set the helmOperatorProperties property: Properties for Helm operator.
+ *
+ * @param helmOperatorProperties the helmOperatorProperties value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withHelmOperatorProperties(HelmOperatorProperties helmOperatorProperties) {
+ this.helmOperatorProperties = helmOperatorProperties;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the resource provider.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningStateType provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the complianceStatus property: Compliance Status of the Configuration.
+ *
+ * @return the complianceStatus value.
+ */
+ public ComplianceStatus complianceStatus() {
+ return this.complianceStatus;
+ }
+
+ /**
+ * Get the systemData property: Top level metadata
+ * https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Set the systemData property: Top level metadata
+ * https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources.
+ *
+ * @param systemData the systemData value to set.
+ * @return the SourceControlConfigurationInner object itself.
+ */
+ public SourceControlConfigurationInner withSystemData(SystemData systemData) {
+ this.systemData = systemData;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (helmOperatorProperties() != null) {
+ helmOperatorProperties().validate();
+ }
+ if (complianceStatus() != null) {
+ complianceStatus().validate();
+ }
+ if (systemData() != null) {
+ systemData().validate();
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/package-info.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/package-info.java
new file mode 100644
index 0000000000000..890b6299f666a
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the inner data models for SourceControlConfigurationClient. Use these APIs to create Source
+ * Control Configuration resources through ARM, for Kubernetes Clusters.
+ */
+package com.azure.resourcemanager.kubernetesconfiguration.fluent.models;
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/package-info.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/package-info.java
new file mode 100644
index 0000000000000..14a2cdc93df4a
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the service clients for SourceControlConfigurationClient. Use these APIs to create Source Control
+ * Configuration resources through ARM, for Kubernetes Clusters.
+ */
+package com.azure.resourcemanager.kubernetesconfiguration.fluent;
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationsClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationsClientImpl.java
new file mode 100644
index 0000000000000..6895da432bdf4
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationsClientImpl.java
@@ -0,0 +1,270 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.OperationsClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ResourceProviderOperationInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ResourceProviderOperationList;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public final class OperationsClientImpl implements OperationsClient {
+ private final ClientLogger logger = new ClientLogger(OperationsClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final OperationsService service;
+
+ /** The service client containing this operation class. */
+ private final SourceControlConfigurationClientImpl client;
+
+ /**
+ * Initializes an instance of OperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ OperationsClientImpl(SourceControlConfigurationClientImpl client) {
+ this.service =
+ RestProxy.create(OperationsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for SourceControlConfigurationClientOperations to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "SourceControlConfigu")
+ private interface OperationsService {
+ @Headers({"Content-Type: application/json"})
+ @Get("/providers/Microsoft.KubernetesConfiguration/operations")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * List all the available operations the KubernetesConfiguration resource provider supports.
+ *
+ * @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 result of the request to list operations.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.list(this.client.getEndpoint(), this.client.getApiVersion(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
+ }
+
+ /**
+ * List all the available operations the KubernetesConfiguration resource provider supports.
+ *
+ * @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 result of the request to list operations.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(this.client.getEndpoint(), this.client.getApiVersion(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * List all the available operations the KubernetesConfiguration resource provider supports.
+ *
+ * @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 result of the request to list operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List all the available operations the KubernetesConfiguration resource provider supports.
+ *
+ * @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 result of the request to list operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(context), nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List all the available operations the KubernetesConfiguration resource provider supports.
+ *
+ * @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 result of the request to list operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(listAsync());
+ }
+
+ /**
+ * List all the available operations the KubernetesConfiguration resource provider supports.
+ *
+ * @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 result of the request to list operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(listAsync(context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list operations.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list operations.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationsImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationsImpl.java
new file mode 100644
index 0000000000000..2ebb8bc45c31f
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationsImpl.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.OperationsClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ResourceProviderOperationInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Operations;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ResourceProviderOperation;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class OperationsImpl implements Operations {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationsImpl.class);
+
+ private final OperationsClient innerClient;
+
+ private final SourceControlConfigurationManager serviceManager;
+
+ public OperationsImpl(OperationsClient innerClient, SourceControlConfigurationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return inner.mapPage(inner1 -> new ResourceProviderOperationImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return inner.mapPage(inner1 -> new ResourceProviderOperationImpl(inner1, this.manager()));
+ }
+
+ private OperationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private SourceControlConfigurationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ResourceProviderOperationImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ResourceProviderOperationImpl.java
new file mode 100644
index 0000000000000..a45c3fde49039
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ResourceProviderOperationImpl.java
@@ -0,0 +1,42 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.implementation;
+
+import com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ResourceProviderOperationInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ResourceProviderOperation;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ResourceProviderOperationDisplay;
+
+public final class ResourceProviderOperationImpl implements ResourceProviderOperation {
+ private ResourceProviderOperationInner innerObject;
+
+ private final SourceControlConfigurationManager serviceManager;
+
+ ResourceProviderOperationImpl(
+ ResourceProviderOperationInner innerObject, SourceControlConfigurationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public ResourceProviderOperationDisplay display() {
+ return this.innerModel().display();
+ }
+
+ public Boolean isDataAction() {
+ return this.innerModel().isDataAction();
+ }
+
+ public ResourceProviderOperationInner innerModel() {
+ return this.innerObject;
+ }
+
+ private SourceControlConfigurationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientBuilder.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientBuilder.java
new file mode 100644
index 0000000000000..d98393f02fef3
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientBuilder.java
@@ -0,0 +1,147 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.implementation;
+
+import com.azure.core.annotation.ServiceClientBuilder;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.CookiePolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.serializer.SerializerAdapter;
+import java.time.Duration;
+
+/** A builder for creating a new instance of the SourceControlConfigurationClientImpl type. */
+@ServiceClientBuilder(serviceClients = {SourceControlConfigurationClientImpl.class})
+public final class SourceControlConfigurationClientBuilder {
+ /*
+ * The Azure subscription ID. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000)
+ */
+ private String subscriptionId;
+
+ /**
+ * Sets The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the SourceControlConfigurationClientBuilder.
+ */
+ public SourceControlConfigurationClientBuilder subscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /*
+ * server parameter
+ */
+ private String endpoint;
+
+ /**
+ * Sets server parameter.
+ *
+ * @param endpoint the endpoint value.
+ * @return the SourceControlConfigurationClientBuilder.
+ */
+ public SourceControlConfigurationClientBuilder endpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /*
+ * The environment to connect to
+ */
+ private AzureEnvironment environment;
+
+ /**
+ * Sets The environment to connect to.
+ *
+ * @param environment the environment value.
+ * @return the SourceControlConfigurationClientBuilder.
+ */
+ public SourceControlConfigurationClientBuilder environment(AzureEnvironment environment) {
+ this.environment = environment;
+ return this;
+ }
+
+ /*
+ * The default poll interval for long-running operation
+ */
+ private Duration defaultPollInterval;
+
+ /**
+ * Sets The default poll interval for long-running operation.
+ *
+ * @param defaultPollInterval the defaultPollInterval value.
+ * @return the SourceControlConfigurationClientBuilder.
+ */
+ public SourceControlConfigurationClientBuilder defaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = defaultPollInterval;
+ return this;
+ }
+
+ /*
+ * The HTTP pipeline to send requests through
+ */
+ private HttpPipeline pipeline;
+
+ /**
+ * Sets The HTTP pipeline to send requests through.
+ *
+ * @param pipeline the pipeline value.
+ * @return the SourceControlConfigurationClientBuilder.
+ */
+ public SourceControlConfigurationClientBuilder pipeline(HttpPipeline pipeline) {
+ this.pipeline = pipeline;
+ return this;
+ }
+
+ /*
+ * The serializer to serialize an object into a string
+ */
+ private SerializerAdapter serializerAdapter;
+
+ /**
+ * Sets The serializer to serialize an object into a string.
+ *
+ * @param serializerAdapter the serializerAdapter value.
+ * @return the SourceControlConfigurationClientBuilder.
+ */
+ public SourceControlConfigurationClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) {
+ this.serializerAdapter = serializerAdapter;
+ return this;
+ }
+
+ /**
+ * Builds an instance of SourceControlConfigurationClientImpl with the provided parameters.
+ *
+ * @return an instance of SourceControlConfigurationClientImpl.
+ */
+ public SourceControlConfigurationClientImpl buildClient() {
+ if (endpoint == null) {
+ this.endpoint = "https://management.azure.com";
+ }
+ if (environment == null) {
+ this.environment = AzureEnvironment.AZURE;
+ }
+ if (defaultPollInterval == null) {
+ this.defaultPollInterval = Duration.ofSeconds(30);
+ }
+ if (pipeline == null) {
+ this.pipeline =
+ new HttpPipelineBuilder()
+ .policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy())
+ .build();
+ }
+ if (serializerAdapter == null) {
+ this.serializerAdapter = SerializerFactory.createDefaultManagementSerializerAdapter();
+ }
+ SourceControlConfigurationClientImpl client =
+ new SourceControlConfigurationClientImpl(
+ pipeline, serializerAdapter, defaultPollInterval, environment, subscriptionId, endpoint);
+ return client;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientImpl.java
new file mode 100644
index 0000000000000..e435a5f0ee9ab
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientImpl.java
@@ -0,0 +1,308 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.implementation;
+
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.http.HttpHeaders;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpResponse;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.management.polling.PollerFactory;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.AsyncPollResponse;
+import com.azure.core.util.polling.LongRunningOperationStatus;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.serializer.SerializerAdapter;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.OperationsClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.SourceControlConfigurationClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.SourceControlConfigurationsClient;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.time.Duration;
+import java.util.Map;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** Initializes a new instance of the SourceControlConfigurationClientImpl type. */
+@ServiceClient(builder = SourceControlConfigurationClientBuilder.class)
+public final class SourceControlConfigurationClientImpl implements SourceControlConfigurationClient {
+ private final ClientLogger logger = new ClientLogger(SourceControlConfigurationClientImpl.class);
+
+ /** The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). */
+ private final String subscriptionId;
+
+ /**
+ * Gets The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).
+ *
+ * @return the subscriptionId value.
+ */
+ public String getSubscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /** server parameter. */
+ private final String endpoint;
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ public String getEndpoint() {
+ return this.endpoint;
+ }
+
+ /** Api Version. */
+ private final String apiVersion;
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ public String getApiVersion() {
+ return this.apiVersion;
+ }
+
+ /** The HTTP pipeline to send requests through. */
+ private final HttpPipeline httpPipeline;
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ public HttpPipeline getHttpPipeline() {
+ return this.httpPipeline;
+ }
+
+ /** The serializer to serialize an object into a string. */
+ private final SerializerAdapter serializerAdapter;
+
+ /**
+ * Gets The serializer to serialize an object into a string.
+ *
+ * @return the serializerAdapter value.
+ */
+ SerializerAdapter getSerializerAdapter() {
+ return this.serializerAdapter;
+ }
+
+ /** The default poll interval for long-running operation. */
+ private final Duration defaultPollInterval;
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ public Duration getDefaultPollInterval() {
+ return this.defaultPollInterval;
+ }
+
+ /** The SourceControlConfigurationsClient object to access its operations. */
+ private final SourceControlConfigurationsClient sourceControlConfigurations;
+
+ /**
+ * Gets the SourceControlConfigurationsClient object to access its operations.
+ *
+ * @return the SourceControlConfigurationsClient object.
+ */
+ public SourceControlConfigurationsClient getSourceControlConfigurations() {
+ return this.sourceControlConfigurations;
+ }
+
+ /** The OperationsClient object to access its operations. */
+ private final OperationsClient operations;
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ public OperationsClient getOperations() {
+ return this.operations;
+ }
+
+ /**
+ * Initializes an instance of SourceControlConfigurationClient client.
+ *
+ * @param httpPipeline The HTTP pipeline to send requests through.
+ * @param serializerAdapter The serializer to serialize an object into a string.
+ * @param defaultPollInterval The default poll interval for long-running operation.
+ * @param environment The Azure environment.
+ * @param subscriptionId The Azure subscription ID. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @param endpoint server parameter.
+ */
+ SourceControlConfigurationClientImpl(
+ HttpPipeline httpPipeline,
+ SerializerAdapter serializerAdapter,
+ Duration defaultPollInterval,
+ AzureEnvironment environment,
+ String subscriptionId,
+ String endpoint) {
+ this.httpPipeline = httpPipeline;
+ this.serializerAdapter = serializerAdapter;
+ this.defaultPollInterval = defaultPollInterval;
+ this.subscriptionId = subscriptionId;
+ this.endpoint = endpoint;
+ this.apiVersion = "2020-10-01-preview";
+ this.sourceControlConfigurations = new SourceControlConfigurationsClientImpl(this);
+ this.operations = new OperationsClientImpl(this);
+ }
+
+ /**
+ * Gets default client context.
+ *
+ * @return the default client context.
+ */
+ public Context getContext() {
+ return Context.NONE;
+ }
+
+ /**
+ * Merges default client context with provided context.
+ *
+ * @param context the context to be merged with default client context.
+ * @return the merged context.
+ */
+ public Context mergeContext(Context context) {
+ for (Map.Entry