diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/CHANGELOG.md b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/CHANGELOG.md
index a599704b0e40c..4d7303f3c1aef 100644
--- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/CHANGELOG.md
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/CHANGELOG.md
@@ -1,7 +1,8 @@
# Release History
-## 1.0.0-beta.2 (Unreleased)
+## 1.0.0-beta.1 (2021-11-05)
+- Azure Resource Manager SourceControlConfiguration client library for Java. This package contains Microsoft Azure SDK for SourceControlConfiguration Management SDK. KubernetesConfiguration Client. Package tag package-preview-2022-01. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
## 1.0.0-beta.1 (2021-04-12)
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/README.md b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/README.md
index a66bf2f86962c..40a9141296122 100644
--- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/README.md
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/README.md
@@ -2,7 +2,7 @@
Azure Resource Manager SourceControlConfiguration client library for Java.
-This package contains Microsoft Azure SDK for SourceControlConfiguration Management SDK. KubernetesConfiguration Client. Package tag package-2021-03. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+This package contains Microsoft Azure SDK for SourceControlConfiguration Management SDK. KubernetesConfiguration Client. Package tag package-preview-2022-01. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
## We'd love to hear your feedback
@@ -32,7 +32,7 @@ Various documentation is available to help you get started
com.azure.resourcemanager
azure-resourcemanager-kubernetesconfiguration
- 1.0.0-beta.1
+ 1.0.0-beta.2
```
[//]: # ({x-version-update-end})
@@ -74,6 +74,9 @@ See [API design][design] for general introduction on design and key concepts on
## Examples
+[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/SAMPLE.md)
+
+
## Troubleshooting
## Next steps
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/SAMPLE.md b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/SAMPLE.md
new file mode 100644
index 0000000000000..fcd15e21559b9
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/SAMPLE.md
@@ -0,0 +1,948 @@
+# Code snippets and samples
+
+
+## ClusterExtensionType
+
+- [Get](#clusterextensiontype_get)
+
+## ClusterExtensionTypesOperation
+
+- [List](#clusterextensiontypesoperation_list)
+
+## ExtensionTypeVersions
+
+- [List](#extensiontypeversions_list)
+
+## Extensions
+
+- [Create](#extensions_create)
+- [Delete](#extensions_delete)
+- [Get](#extensions_get)
+- [List](#extensions_list)
+- [Update](#extensions_update)
+
+## FluxConfigOperationStatus
+
+- [Get](#fluxconfigoperationstatus_get)
+
+## FluxConfigurations
+
+- [CreateOrUpdate](#fluxconfigurations_createorupdate)
+- [Delete](#fluxconfigurations_delete)
+- [Get](#fluxconfigurations_get)
+- [List](#fluxconfigurations_list)
+- [Update](#fluxconfigurations_update)
+
+## LocationExtensionTypes
+
+- [List](#locationextensiontypes_list)
+
+## OperationStatus
+
+- [Get](#operationstatus_get)
+- [List](#operationstatus_list)
+
+## Operations
+
+- [List](#operations_list)
+
+## SourceControlConfigurations
+
+- [CreateOrUpdate](#sourcecontrolconfigurations_createorupdate)
+- [Delete](#sourcecontrolconfigurations_delete)
+- [Get](#sourcecontrolconfigurations_get)
+- [List](#sourcecontrolconfigurations_list)
+### ClusterExtensionType_Get
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for ClusterExtensionType Get. */
+public final class ClusterExtensionTypeGetSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionType_Get.json
+ */
+ /**
+ * Sample code: ClusterExtensionType_Get_MaximumSet_Gen.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void clusterExtensionTypeGetMaximumSetGen(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .clusterExtensionTypes()
+ .getWithResponse(
+ "rgextensionTypes",
+ ClusterExtensionTypeClusterRp.MICROSOFT_CONTAINER_SERVICE,
+ ClusterExtensionTypeClusterResourceName.MANAGED_CLUSTERS,
+ "aaaaaaaaaaaaaaaaaaaaa",
+ "aaaaaa",
+ Context.NONE);
+ }
+}
+```
+
+### ClusterExtensionTypesOperation_List
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for ClusterExtensionTypesOperation List. */
+public final class ClusterExtensionTypesOperationListSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionTypes_List.json
+ */
+ /**
+ * Sample code: ClusterExtensionTypes_List_MaximumSet_Gen.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void clusterExtensionTypesListMaximumSetGen(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .clusterExtensionTypesOperations()
+ .list(
+ "rgextensionTypes",
+ ClusterExtensionTypeClusterRp.MICROSOFT_CONTAINER_SERVICE,
+ ClusterExtensionTypeClusterResourceName.MANAGED_CLUSTERS,
+ "aaaaaaaaaaaaaaaaaaaaa",
+ Context.NONE);
+ }
+}
+```
+
+### ExtensionTypeVersions_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ExtensionTypeVersions List. */
+public final class ExtensionTypeVersionsListSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ExtensionTypeVersions_List.json
+ */
+ /**
+ * Sample code: ExtensionTypeVersions_List_MaximumSet_Gen.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void extensionTypeVersionsListMaximumSetGen(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager.extensionTypeVersions().list("aaaaaa", "aaaaaa", Context.NONE);
+ }
+}
+```
+
+### Extensions_Create
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Scope;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ScopeCluster;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Extensions Create. */
+public final class ExtensionsCreateSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateExtension.json
+ */
+ /**
+ * Sample code: Create Extension.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void createExtension(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .extensions()
+ .create(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "ClusterMonitor",
+ new ExtensionInner()
+ .withExtensionType("azuremonitor-containers")
+ .withAutoUpgradeMinorVersion(true)
+ .withReleaseTrain("Preview")
+ .withScope(new Scope().withCluster(new ScopeCluster().withReleaseNamespace("kube-system")))
+ .withConfigurationSettings(
+ mapOf(
+ "omsagent.env.clusterName",
+ "clusterName1",
+ "omsagent.secret.wsid",
+ "a38cef99-5a89-52ed-b6db-22095c23664b"))
+ .withConfigurationProtectedSettings(mapOf("omsagent.secret.key", "secretKeyValue01")),
+ Context.NONE);
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### Extensions_Delete
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for Extensions Delete. */
+public final class ExtensionsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteExtension.json
+ */
+ /**
+ * Sample code: Delete Extension.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void deleteExtension(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .extensions()
+ .delete(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "ClusterMonitor",
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### Extensions_Get
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for Extensions Get. */
+public final class ExtensionsGetSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtension.json
+ */
+ /**
+ * Sample code: Get Extension.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void getExtension(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .extensions()
+ .getWithResponse(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "ClusterMonitor",
+ Context.NONE);
+ }
+}
+```
+
+### Extensions_List
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for Extensions List. */
+public final class ExtensionsListSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListExtensions.json
+ */
+ /**
+ * Sample code: List Extensions.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void listExtensions(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .extensions()
+ .list(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ Context.NONE);
+ }
+}
+```
+
+### Extensions_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.PatchExtension;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Extensions Update. */
+public final class ExtensionsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchExtension.json
+ */
+ /**
+ * Sample code: Update Extension.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void updateExtension(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .extensions()
+ .update(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "ClusterMonitor",
+ new PatchExtension()
+ .withAutoUpgradeMinorVersion(true)
+ .withReleaseTrain("Preview")
+ .withConfigurationSettings(
+ mapOf(
+ "omsagent.env.clusterName",
+ "clusterName1",
+ "omsagent.secret.wsid",
+ "a38cef99-5a89-52ed-b6db-22095c23664b"))
+ .withConfigurationProtectedSettings(mapOf("omsagent.secret.key", "secretKeyValue01")),
+ Context.NONE);
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### FluxConfigOperationStatus_Get
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for FluxConfigOperationStatus Get. */
+public final class FluxConfigOperationStatusGetSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json
+ */
+ /**
+ * Sample code: FluxConfigurationAsyncOperationStatus Get.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void fluxConfigurationAsyncOperationStatusGet(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .fluxConfigOperationStatus()
+ .getWithResponse(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "srs-fluxconfig",
+ "99999999-9999-9999-9999-999999999999",
+ Context.NONE);
+ }
+}
+```
+
+### FluxConfigurations_CreateOrUpdate
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.FluxConfigurationInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.BucketDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.DependsOnDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.GitRepositoryDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.KustomizationDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.RepositoryRefDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ScopeType;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SourceKindType;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for FluxConfigurations CreateOrUpdate. */
+public final class FluxConfigurationsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfiguration.json
+ */
+ /**
+ * Sample code: Create Flux Configuration.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void createFluxConfiguration(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .fluxConfigurations()
+ .createOrUpdate(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "srs-fluxconfig",
+ new FluxConfigurationInner()
+ .withScope(ScopeType.CLUSTER)
+ .withNamespace("srs-namespace")
+ .withSourceKind(SourceKindType.GIT_REPOSITORY)
+ .withSuspend(false)
+ .withGitRepository(
+ new GitRepositoryDefinition()
+ .withUrl("https://github.com/Azure/arc-k8s-demo")
+ .withTimeoutInSeconds(600L)
+ .withSyncIntervalInSeconds(600L)
+ .withRepositoryRef(new RepositoryRefDefinition().withBranch("master"))
+ .withHttpsCACert("ZXhhbXBsZWNlcnRpZmljYXRl"))
+ .withKustomizations(
+ mapOf(
+ "srs-kustomization1",
+ new KustomizationDefinition()
+ .withPath("./test/path")
+ .withDependsOn(Arrays.asList())
+ .withTimeoutInSeconds(600L)
+ .withSyncIntervalInSeconds(600L),
+ "srs-kustomization2",
+ new KustomizationDefinition()
+ .withPath("./other/test/path")
+ .withDependsOn(
+ Arrays
+ .asList(new DependsOnDefinition().withKustomizationName("srs-kustomization1")))
+ .withTimeoutInSeconds(600L)
+ .withSyncIntervalInSeconds(600L)
+ .withRetryIntervalInSeconds(600L)
+ .withPrune(false))),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfigurationWithBucket.json
+ */
+ /**
+ * Sample code: Create Flux Configuration with Bucket Source Kind.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void createFluxConfigurationWithBucketSourceKind(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .fluxConfigurations()
+ .createOrUpdate(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "srs-fluxconfig",
+ new FluxConfigurationInner()
+ .withScope(ScopeType.CLUSTER)
+ .withNamespace("srs-namespace")
+ .withSourceKind(SourceKindType.BUCKET)
+ .withSuspend(false)
+ .withBucket(
+ new BucketDefinition()
+ .withUrl("https://fluxminiotest.az.minio.io")
+ .withBucketName("flux")
+ .withTimeoutInSeconds(1000L)
+ .withSyncIntervalInSeconds(1000L)
+ .withAccessKey("fluxminiotest"))
+ .withKustomizations(
+ mapOf(
+ "srs-kustomization1",
+ new KustomizationDefinition()
+ .withPath("./test/path")
+ .withDependsOn(Arrays.asList())
+ .withTimeoutInSeconds(600L)
+ .withSyncIntervalInSeconds(600L),
+ "srs-kustomization2",
+ new KustomizationDefinition()
+ .withPath("./other/test/path")
+ .withDependsOn(
+ Arrays
+ .asList(new DependsOnDefinition().withKustomizationName("srs-kustomization1")))
+ .withTimeoutInSeconds(600L)
+ .withSyncIntervalInSeconds(600L)
+ .withRetryIntervalInSeconds(600L)
+ .withPrune(false))),
+ Context.NONE);
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### FluxConfigurations_Delete
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for FluxConfigurations Delete. */
+public final class FluxConfigurationsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteFluxConfiguration.json
+ */
+ /**
+ * Sample code: Delete Flux Configuration.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void deleteFluxConfiguration(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .fluxConfigurations()
+ .delete(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "srs-fluxconfig",
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### FluxConfigurations_Get
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for FluxConfigurations Get. */
+public final class FluxConfigurationsGetSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfiguration.json
+ */
+ /**
+ * Sample code: Get Flux Configuration.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void getFluxConfiguration(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .fluxConfigurations()
+ .getWithResponse(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "srs-fluxconfig",
+ Context.NONE);
+ }
+}
+```
+
+### FluxConfigurations_List
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for FluxConfigurations List. */
+public final class FluxConfigurationsListSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListFluxConfigurations.json
+ */
+ /**
+ * Sample code: List Flux Configuration.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void listFluxConfiguration(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .fluxConfigurations()
+ .list(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ Context.NONE);
+ }
+}
+```
+
+### FluxConfigurations_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxConfigurationPatch;
+import com.azure.resourcemanager.kubernetesconfiguration.models.GitRepositoryPatchDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.KustomizationPatchDefinition;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for FluxConfigurations Update. */
+public final class FluxConfigurationsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchFluxConfiguration.json
+ */
+ /**
+ * Sample code: Patch Flux Configuration.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void patchFluxConfiguration(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .fluxConfigurations()
+ .update(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "srs-fluxconfig",
+ new FluxConfigurationPatch()
+ .withSuspend(true)
+ .withGitRepository(
+ new GitRepositoryPatchDefinition()
+ .withUrl("https://github.com/jonathan-innis/flux2-kustomize-helm-example.git"))
+ .withKustomizations(
+ mapOf(
+ "srs-kustomization1",
+ null,
+ "srs-kustomization2",
+ new KustomizationPatchDefinition()
+ .withPath("./test/alt-path")
+ .withSyncIntervalInSeconds(300L),
+ "srs-kustomization3",
+ new KustomizationPatchDefinition()
+ .withPath("./test/another-path")
+ .withSyncIntervalInSeconds(300L))),
+ Context.NONE);
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### LocationExtensionTypes_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for LocationExtensionTypes List. */
+public final class LocationExtensionTypesListSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/LocationExtensionTypes_List.json
+ */
+ /**
+ * Sample code: LocationExtensionTypes_List_MaximumSet_Gen.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void locationExtensionTypesListMaximumSetGen(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager.locationExtensionTypes().list("aaaaaa", Context.NONE);
+ }
+}
+```
+
+### OperationStatus_Get
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for OperationStatus Get. */
+public final class OperationStatusGetSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtensionAsyncOperationStatus.json
+ */
+ /**
+ * Sample code: ExtensionAsyncOperationStatus Get.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void extensionAsyncOperationStatusGet(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .operationStatus()
+ .getWithResponse(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "ClusterMonitor",
+ "99999999-9999-9999-9999-999999999999",
+ Context.NONE);
+ }
+}
+```
+
+### OperationStatus_List
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for OperationStatus List. */
+public final class OperationStatusListSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListAsyncOperationStatus.json
+ */
+ /**
+ * Sample code: AsyncOperationStatus List.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void asyncOperationStatusList(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .operationStatus()
+ .list(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ Context.NONE);
+ }
+}
+```
+
+### Operations_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Operations List. */
+public final class OperationsListSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/OperationsList.json
+ */
+ /**
+ * Sample code: BatchAccountDelete.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void batchAccountDelete(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager.operations().list(Context.NONE);
+ }
+}
+```
+
+### SourceControlConfigurations_CreateOrUpdate
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.SourceControlConfigurationInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.HelmOperatorProperties;
+import com.azure.resourcemanager.kubernetesconfiguration.models.OperatorScopeType;
+import com.azure.resourcemanager.kubernetesconfiguration.models.OperatorType;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for SourceControlConfigurations CreateOrUpdate. */
+public final class SourceControlConfigurationsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateSourceControlConfiguration.json
+ */
+ /**
+ * Sample code: Create Source Control Configuration.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void createSourceControlConfiguration(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .sourceControlConfigurations()
+ .createOrUpdateWithResponse(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "SRS_GitHubConfig",
+ new SourceControlConfigurationInner()
+ .withRepositoryUrl("git@github.com:k8sdeveloper425/flux-get-started")
+ .withOperatorNamespace("SRS_Namespace")
+ .withOperatorInstanceName("SRSGitHubFluxOp-01")
+ .withOperatorType(OperatorType.FLUX)
+ .withOperatorParams("--git-email=xyzgituser@users.srs.github.com")
+ .withConfigurationProtectedSettings(mapOf("protectedSetting1Key", "protectedSetting1Value"))
+ .withOperatorScope(OperatorScopeType.NAMESPACE)
+ .withSshKnownHostsContents(
+ "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=")
+ .withEnableHelmOperator(true)
+ .withHelmOperatorProperties(
+ new HelmOperatorProperties()
+ .withChartVersion("0.3.0")
+ .withChartValues(
+ "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system")),
+ Context.NONE);
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### SourceControlConfigurations_Delete
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for SourceControlConfigurations Delete. */
+public final class SourceControlConfigurationsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteSourceControlConfiguration.json
+ */
+ /**
+ * Sample code: Delete Source Control Configuration.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void deleteSourceControlConfiguration(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .sourceControlConfigurations()
+ .delete(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "SRS_GitHubConfig",
+ Context.NONE);
+ }
+}
+```
+
+### SourceControlConfigurations_Get
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for SourceControlConfigurations Get. */
+public final class SourceControlConfigurationsGetSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetSourceControlConfiguration.json
+ */
+ /**
+ * Sample code: Get Source Control Configuration.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void getSourceControlConfiguration(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .sourceControlConfigurations()
+ .getWithResponse(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ "SRS_GitHubConfig",
+ Context.NONE);
+ }
+}
+```
+
+### SourceControlConfigurations_List
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** Samples for SourceControlConfigurations List. */
+public final class SourceControlConfigurationsListSamples {
+ /*
+ * x-ms-original-file: specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListSourceControlConfiguration.json
+ */
+ /**
+ * Sample code: List Source Control Configuration.
+ *
+ * @param manager Entry point to SourceControlConfigurationManager.
+ */
+ public static void listSourceControlConfiguration(
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager) {
+ manager
+ .sourceControlConfigurations()
+ .list(
+ "rg1",
+ ClusterExtensionTypeClusterRp.MICROSOFT_KUBERNETES,
+ ClusterExtensionTypeClusterResourceName.CONNECTED_CLUSTERS,
+ "clusterName1",
+ Context.NONE);
+ }
+}
+```
+
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml
index 4aed379dd6bff..270253989ec55 100644
--- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/pom.xml
@@ -1,67 +1,81 @@
- 4.0.0
-
- com.azure
- azure-client-sdk-parent
- 1.7.0
- ../../parents/azure-client-sdk-parent
-
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
- com.azure.resourcemanager
- azure-resourcemanager-kubernetesconfiguration
- 1.0.0-beta.2
- jar
+ com.azure.resourcemanager
+ azure-resourcemanager-kubernetesconfiguration
+ 1.0.0-beta.2
+ jar
- Microsoft Azure SDK for SourceControlConfiguration Management
- This package contains Microsoft Azure SDK for SourceControlConfiguration Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. KubernetesConfiguration Client. Package tag package-2021-03.
- https://github.com/Azure/azure-sdk-for-java
+ Microsoft Azure SDK for SourceControlConfiguration Management
+ This package contains Microsoft Azure SDK for SourceControlConfiguration Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. KubernetesConfiguration Client. Package tag package-preview-2022-01.
+ https://github.com/Azure/azure-sdk-for-java
-
-
- The MIT License (MIT)
- http://opensource.org/licenses/MIT
- repo
-
-
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
-
- https://github.com/Azure/azure-sdk-for-java
- scm:git:git@github.com:Azure/azure-sdk-for-java.git
- scm:git:git@github.com:Azure/azure-sdk-for-java.git
- HEAD
-
-
-
- microsoft
- Microsoft
-
-
-
- UTF-8
-
-
-
-
- com.azure
- azure-core
- 1.21.0
-
-
- com.azure
- azure-core-management
- 1.4.2
-
-
-
-
-
- org.jacoco
- jacoco-maven-plugin
- 0.8.7
-
- true
-
-
-
-
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+ true
+ false
+
+
+
+
+
+ com.azure
+ azure-core
+ 1.21.0
+
+
+ com.azure
+ azure-core-management
+ 1.4.2
+
+
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+ -
+
java.method.addedToInterface
+
+ -
+ true
+
.*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
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
index efd0a2da188e1..9f58660672c8f 100644
--- 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
@@ -8,8 +8,8 @@
import com.azure.core.http.HttpClient;
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.HttpPipelinePosition;
import com.azure.core.http.policy.AddDatePolicy;
-import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.http.policy.HttpLoggingPolicy;
import com.azure.core.http.policy.HttpPipelinePolicy;
@@ -17,13 +17,30 @@
import com.azure.core.http.policy.RequestIdPolicy;
import com.azure.core.http.policy.RetryPolicy;
import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
import com.azure.core.management.profile.AzureProfile;
import com.azure.core.util.Configuration;
import com.azure.core.util.logging.ClientLogger;
import com.azure.resourcemanager.kubernetesconfiguration.fluent.SourceControlConfigurationClient;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.ClusterExtensionTypesImpl;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.ClusterExtensionTypesOperationsImpl;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.ExtensionTypeVersionsImpl;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.ExtensionsImpl;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.FluxConfigOperationStatusImpl;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.FluxConfigurationsImpl;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.LocationExtensionTypesImpl;
+import com.azure.resourcemanager.kubernetesconfiguration.implementation.OperationStatusImpl;
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.ClusterExtensionTypes;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypesOperations;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionTypeVersions;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Extensions;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxConfigOperationStatus;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxConfigurations;
+import com.azure.resourcemanager.kubernetesconfiguration.models.LocationExtensionTypes;
+import com.azure.resourcemanager.kubernetesconfiguration.models.OperationStatus;
import com.azure.resourcemanager.kubernetesconfiguration.models.Operations;
import com.azure.resourcemanager.kubernetesconfiguration.models.SourceControlConfigurations;
import java.time.Duration;
@@ -31,9 +48,26 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/** Entry point to SourceControlConfigurationManager. KubernetesConfiguration Client. */
public final class SourceControlConfigurationManager {
+ private ClusterExtensionTypes clusterExtensionTypes;
+
+ private ClusterExtensionTypesOperations clusterExtensionTypesOperations;
+
+ private ExtensionTypeVersions extensionTypeVersions;
+
+ private LocationExtensionTypes locationExtensionTypes;
+
+ private Extensions extensions;
+
+ private OperationStatus operationStatus;
+
+ private FluxConfigurations fluxConfigurations;
+
+ private FluxConfigOperationStatus fluxConfigOperationStatus;
+
private SourceControlConfigurations sourceControlConfigurations;
private Operations operations;
@@ -83,6 +117,7 @@ public static final class Configurable {
private HttpClient httpClient;
private HttpLogOptions httpLogOptions;
private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
private RetryPolicy retryPolicy;
private Duration defaultPollInterval;
@@ -122,6 +157,17 @@ public Configurable withPolicy(HttpPipelinePolicy policy) {
return this;
}
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
/**
* Sets the retry policy to the HTTP pipeline.
*
@@ -178,20 +224,33 @@ public SourceControlConfigurationManager authenticate(TokenCredential credential
userAgentBuilder.append(" (auto-generated)");
}
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
if (retryPolicy == null) {
retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
}
List policies = new ArrayList<>();
policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
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 ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
policies
- .add(
- new BearerTokenAuthenticationPolicy(
- credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
- policies.addAll(this.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 =
@@ -203,6 +262,73 @@ public SourceControlConfigurationManager authenticate(TokenCredential credential
}
}
+ /** @return Resource collection API of ClusterExtensionTypes. */
+ public ClusterExtensionTypes clusterExtensionTypes() {
+ if (this.clusterExtensionTypes == null) {
+ this.clusterExtensionTypes = new ClusterExtensionTypesImpl(clientObject.getClusterExtensionTypes(), this);
+ }
+ return clusterExtensionTypes;
+ }
+
+ /** @return Resource collection API of ClusterExtensionTypesOperations. */
+ public ClusterExtensionTypesOperations clusterExtensionTypesOperations() {
+ if (this.clusterExtensionTypesOperations == null) {
+ this.clusterExtensionTypesOperations =
+ new ClusterExtensionTypesOperationsImpl(clientObject.getClusterExtensionTypesOperations(), this);
+ }
+ return clusterExtensionTypesOperations;
+ }
+
+ /** @return Resource collection API of ExtensionTypeVersions. */
+ public ExtensionTypeVersions extensionTypeVersions() {
+ if (this.extensionTypeVersions == null) {
+ this.extensionTypeVersions = new ExtensionTypeVersionsImpl(clientObject.getExtensionTypeVersions(), this);
+ }
+ return extensionTypeVersions;
+ }
+
+ /** @return Resource collection API of LocationExtensionTypes. */
+ public LocationExtensionTypes locationExtensionTypes() {
+ if (this.locationExtensionTypes == null) {
+ this.locationExtensionTypes =
+ new LocationExtensionTypesImpl(clientObject.getLocationExtensionTypes(), this);
+ }
+ return locationExtensionTypes;
+ }
+
+ /** @return Resource collection API of Extensions. */
+ public Extensions extensions() {
+ if (this.extensions == null) {
+ this.extensions = new ExtensionsImpl(clientObject.getExtensions(), this);
+ }
+ return extensions;
+ }
+
+ /** @return Resource collection API of OperationStatus. */
+ public OperationStatus operationStatus() {
+ if (this.operationStatus == null) {
+ this.operationStatus = new OperationStatusImpl(clientObject.getOperationStatus(), this);
+ }
+ return operationStatus;
+ }
+
+ /** @return Resource collection API of FluxConfigurations. */
+ public FluxConfigurations fluxConfigurations() {
+ if (this.fluxConfigurations == null) {
+ this.fluxConfigurations = new FluxConfigurationsImpl(clientObject.getFluxConfigurations(), this);
+ }
+ return fluxConfigurations;
+ }
+
+ /** @return Resource collection API of FluxConfigOperationStatus. */
+ public FluxConfigOperationStatus fluxConfigOperationStatus() {
+ if (this.fluxConfigOperationStatus == null) {
+ this.fluxConfigOperationStatus =
+ new FluxConfigOperationStatusImpl(clientObject.getFluxConfigOperationStatus(), this);
+ }
+ return fluxConfigOperationStatus;
+ }
+
/** @return Resource collection API of SourceControlConfigurations. */
public SourceControlConfigurations sourceControlConfigurations() {
if (this.sourceControlConfigurations == null) {
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ClusterExtensionTypesClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ClusterExtensionTypesClient.java
new file mode 100644
index 0000000000000..19e3dc78c41bc
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ClusterExtensionTypesClient.java
@@ -0,0 +1,64 @@
+// 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.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** An instance of this class provides access to all the operations defined in ClusterExtensionTypesClient. */
+public interface ClusterExtensionTypesClient {
+ /**
+ * Get Extension Type details.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionTypeName Extension type name.
+ * @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 extension Type details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtensionTypeInner get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionTypeName);
+
+ /**
+ * Get Extension Type details.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionTypeName Extension type name.
+ * @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 extension Type details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionTypeName,
+ Context context);
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ClusterExtensionTypesOperationsClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ClusterExtensionTypesOperationsClient.java
new file mode 100644
index 0000000000000..c6801e9b1fce6
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ClusterExtensionTypesOperationsClient.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.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.ExtensionTypeInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** An instance of this class provides access to all the operations defined in ClusterExtensionTypesOperationsClient. */
+public interface ClusterExtensionTypesOperationsClient {
+ /**
+ * Get Extension Types.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName);
+
+ /**
+ * Get Extension Types.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context);
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ExtensionTypeVersionsClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ExtensionTypeVersionsClient.java
new file mode 100644
index 0000000000000..3a45f22e61910
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ExtensionTypeVersionsClient.java
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.models.ExtensionVersionListVersionsItem;
+
+/** An instance of this class provides access to all the operations defined in ExtensionTypeVersionsClient. */
+public interface ExtensionTypeVersionsClient {
+ /**
+ * List available versions for an Extension Type.
+ *
+ * @param location extension location.
+ * @param extensionTypeName Extension type name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list versions for an Extension.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, String extensionTypeName);
+
+ /**
+ * List available versions for an Extension Type.
+ *
+ * @param location extension location.
+ * @param extensionTypeName Extension type name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list versions for an Extension.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, String extensionTypeName, Context context);
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ExtensionsClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ExtensionsClient.java
new file mode 100644
index 0000000000000..abae99bcf483c
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/ExtensionsClient.java
@@ -0,0 +1,444 @@
+// 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.ExtensionInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.PatchExtension;
+
+/** An instance of this class provides access to all the operations defined in ExtensionsClient. */
+public interface ExtensionsClient {
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ExtensionInner> beginCreate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension);
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ExtensionInner> beginCreate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension,
+ Context context);
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtensionInner create(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension);
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtensionInner create(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension,
+ Context context);
+
+ /**
+ * Gets Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @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 kubernetes Cluster Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtensionInner get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName);
+
+ /**
+ * Gets Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @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 kubernetes Cluster Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Context context);
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @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.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete);
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @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.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete,
+ Context context);
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @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,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete);
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @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,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName);
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @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,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete,
+ Context context);
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ExtensionInner> beginUpdate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension);
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ExtensionInner> beginUpdate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension,
+ Context context);
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtensionInner update(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension);
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtensionInner update(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension,
+ Context context);
+
+ /**
+ * List all Extensions in the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 Extensions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName);
+
+ /**
+ * List all Extensions in the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 Extensions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context);
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/FluxConfigOperationStatusClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/FluxConfigOperationStatusClient.java
new file mode 100644
index 0000000000000..fe7fa4ae21769
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/FluxConfigOperationStatusClient.java
@@ -0,0 +1,68 @@
+// 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.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.OperationStatusResultInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** An instance of this class provides access to all the operations defined in FluxConfigOperationStatusClient. */
+public interface FluxConfigOperationStatusClient {
+ /**
+ * Get Async Operation status.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param operationId operation Id.
+ * @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 async Operation status.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OperationStatusResultInner get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ String operationId);
+
+ /**
+ * Get Async Operation status.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param operationId operation 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 async Operation status.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ String operationId,
+ Context context);
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/FluxConfigurationsClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/FluxConfigurationsClient.java
new file mode 100644
index 0000000000000..ff9c46df17084
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/FluxConfigurationsClient.java
@@ -0,0 +1,449 @@
+// 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.FluxConfigurationInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxConfigurationPatch;
+
+/** An instance of this class provides access to all the operations defined in FluxConfigurationsClient. */
+public interface FluxConfigurationsClient {
+ /**
+ * Gets details of the Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux 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 Flux Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FluxConfigurationInner get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName);
+
+ /**
+ * Gets details of the Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux 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 Flux Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ Context context);
+
+ /**
+ * Create a new Kubernetes Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param fluxConfiguration Properties necessary to Create a FluxConfiguration.
+ * @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 Flux Configuration object returned in Get & Put response.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FluxConfigurationInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ FluxConfigurationInner fluxConfiguration);
+
+ /**
+ * Create a new Kubernetes Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param fluxConfiguration Properties necessary to Create a FluxConfiguration.
+ * @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 Flux Configuration object returned in Get & Put response.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FluxConfigurationInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ FluxConfigurationInner fluxConfiguration,
+ Context context);
+
+ /**
+ * Create a new Kubernetes Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param fluxConfiguration Properties necessary to Create a FluxConfiguration.
+ * @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 Flux Configuration object returned in Get & Put response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FluxConfigurationInner createOrUpdate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ FluxConfigurationInner fluxConfiguration);
+
+ /**
+ * Create a new Kubernetes Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param fluxConfiguration Properties necessary to Create a FluxConfiguration.
+ * @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 Flux Configuration object returned in Get & Put response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FluxConfigurationInner createOrUpdate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ FluxConfigurationInner fluxConfiguration,
+ Context context);
+
+ /**
+ * Update an existing Kubernetes Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param fluxConfigurationPatch Properties to Patch in an existing Flux 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 Flux Configuration object returned in Get & Put response.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FluxConfigurationInner> beginUpdate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ FluxConfigurationPatch fluxConfigurationPatch);
+
+ /**
+ * Update an existing Kubernetes Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param fluxConfigurationPatch Properties to Patch in an existing Flux 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 Flux Configuration object returned in Get & Put response.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FluxConfigurationInner> beginUpdate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ FluxConfigurationPatch fluxConfigurationPatch,
+ Context context);
+
+ /**
+ * Update an existing Kubernetes Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param fluxConfigurationPatch Properties to Patch in an existing Flux 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 Flux Configuration object returned in Get & Put response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FluxConfigurationInner update(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ FluxConfigurationPatch fluxConfigurationPatch);
+
+ /**
+ * Update an existing Kubernetes Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param fluxConfigurationPatch Properties to Patch in an existing Flux 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 Flux Configuration object returned in Get & Put response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FluxConfigurationInner update(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ FluxConfigurationPatch fluxConfigurationPatch,
+ Context context);
+
+ /**
+ * This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source
+ * repo.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @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.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ Boolean forceDelete);
+
+ /**
+ * This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source
+ * repo.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @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.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ Boolean forceDelete,
+ Context context);
+
+ /**
+ * This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source
+ * repo.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @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,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ Boolean forceDelete);
+
+ /**
+ * This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source
+ * repo.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux 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,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName);
+
+ /**
+ * This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source
+ * repo.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @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,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ Boolean forceDelete,
+ Context context);
+
+ /**
+ * List all Flux Configurations.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 Flux Configurations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName);
+
+ /**
+ * List all Flux Configurations.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 Flux Configurations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context);
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/LocationExtensionTypesClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/LocationExtensionTypesClient.java
new file mode 100644
index 0000000000000..036bb85266751
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/LocationExtensionTypesClient.java
@@ -0,0 +1,39 @@
+// 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.ExtensionTypeInner;
+
+/** An instance of this class provides access to all the operations defined in LocationExtensionTypesClient. */
+public interface LocationExtensionTypesClient {
+ /**
+ * List all Extension Types.
+ *
+ * @param location extension location.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list Extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location);
+
+ /**
+ * List all Extension Types.
+ *
+ * @param location extension location.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list Extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, Context context);
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/OperationStatusClient.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/OperationStatusClient.java
new file mode 100644
index 0000000000000..f9edb30825b14
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/OperationStatusClient.java
@@ -0,0 +1,113 @@
+// 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.util.Context;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.OperationStatusResultInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+
+/** An instance of this class provides access to all the operations defined in OperationStatusClient. */
+public interface OperationStatusClient {
+ /**
+ * Get Async Operation status.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param operationId operation Id.
+ * @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 async Operation status.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OperationStatusResultInner get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ String operationId);
+
+ /**
+ * Get Async Operation status.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param operationId operation 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 async Operation status.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ String operationId,
+ Context context);
+
+ /**
+ * List Async Operations, currently in progress, in a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 the async operations in progress, in the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName);
+
+ /**
+ * List Async Operations, currently in progress, in a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 the async operations in progress, in the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ 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
index 659028b4939a1..2895b71310577 100644
--- 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
@@ -10,7 +10,7 @@
/** 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).
+ * Gets The ID of the target subscription.
*
* @return the subscriptionId value.
*/
@@ -44,6 +44,62 @@ public interface SourceControlConfigurationClient {
*/
Duration getDefaultPollInterval();
+ /**
+ * Gets the ClusterExtensionTypesClient object to access its operations.
+ *
+ * @return the ClusterExtensionTypesClient object.
+ */
+ ClusterExtensionTypesClient getClusterExtensionTypes();
+
+ /**
+ * Gets the ClusterExtensionTypesOperationsClient object to access its operations.
+ *
+ * @return the ClusterExtensionTypesOperationsClient object.
+ */
+ ClusterExtensionTypesOperationsClient getClusterExtensionTypesOperations();
+
+ /**
+ * Gets the ExtensionTypeVersionsClient object to access its operations.
+ *
+ * @return the ExtensionTypeVersionsClient object.
+ */
+ ExtensionTypeVersionsClient getExtensionTypeVersions();
+
+ /**
+ * Gets the LocationExtensionTypesClient object to access its operations.
+ *
+ * @return the LocationExtensionTypesClient object.
+ */
+ LocationExtensionTypesClient getLocationExtensionTypes();
+
+ /**
+ * Gets the ExtensionsClient object to access its operations.
+ *
+ * @return the ExtensionsClient object.
+ */
+ ExtensionsClient getExtensions();
+
+ /**
+ * Gets the OperationStatusClient object to access its operations.
+ *
+ * @return the OperationStatusClient object.
+ */
+ OperationStatusClient getOperationStatus();
+
+ /**
+ * Gets the FluxConfigurationsClient object to access its operations.
+ *
+ * @return the FluxConfigurationsClient object.
+ */
+ FluxConfigurationsClient getFluxConfigurations();
+
+ /**
+ * Gets the FluxConfigOperationStatusClient object to access its operations.
+ *
+ * @return the FluxConfigOperationStatusClient object.
+ */
+ FluxConfigOperationStatusClient getFluxConfigOperationStatus();
+
/**
* Gets the SourceControlConfigurationsClient object to access its operations.
*
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
index 66cfdab965d31..d9eb54df1d6b8 100644
--- 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
@@ -12,15 +12,15 @@
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;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
/** 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 resourceGroupName The name of the resource group. The name is case insensitive.
* @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
@@ -35,15 +35,15 @@ public interface SourceControlConfigurationsClient {
@ServiceMethod(returns = ReturnType.SINGLE)
SourceControlConfigurationInner get(
String resourceGroupName,
- SourceControlConfigurationsClusterRp clusterRp,
- SourceControlConfigurationsClusterResourceName clusterResourceName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
String clusterName,
String sourceControlConfigurationName);
/**
* Gets details of the Source Control Configuration.
*
- * @param resourceGroupName The name of the resource group.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
* @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
@@ -59,8 +59,8 @@ SourceControlConfigurationInner get(
@ServiceMethod(returns = ReturnType.SINGLE)
Response getWithResponse(
String resourceGroupName,
- SourceControlConfigurationsClusterRp clusterRp,
- SourceControlConfigurationsClusterResourceName clusterResourceName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
String clusterName,
String sourceControlConfigurationName,
Context context);
@@ -68,7 +68,7 @@ Response getWithResponse(
/**
* Create a new Kubernetes Source Control Configuration.
*
- * @param resourceGroupName The name of the resource group.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
* @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
@@ -84,8 +84,8 @@ Response getWithResponse(
@ServiceMethod(returns = ReturnType.SINGLE)
SourceControlConfigurationInner createOrUpdate(
String resourceGroupName,
- SourceControlConfigurationsClusterRp clusterRp,
- SourceControlConfigurationsClusterResourceName clusterResourceName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
String clusterName,
String sourceControlConfigurationName,
SourceControlConfigurationInner sourceControlConfiguration);
@@ -93,7 +93,7 @@ SourceControlConfigurationInner createOrUpdate(
/**
* Create a new Kubernetes Source Control Configuration.
*
- * @param resourceGroupName The name of the resource group.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
* @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
@@ -110,8 +110,8 @@ SourceControlConfigurationInner createOrUpdate(
@ServiceMethod(returns = ReturnType.SINGLE)
Response createOrUpdateWithResponse(
String resourceGroupName,
- SourceControlConfigurationsClusterRp clusterRp,
- SourceControlConfigurationsClusterResourceName clusterResourceName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
String clusterName,
String sourceControlConfigurationName,
SourceControlConfigurationInner sourceControlConfiguration,
@@ -121,7 +121,7 @@ Response createOrUpdateWithResponse(
* 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 resourceGroupName The name of the resource group. The name is case insensitive.
* @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
@@ -133,11 +133,11 @@ Response createOrUpdateWithResponse(
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the completion.
*/
- @ServiceMethod(returns = ReturnType.SINGLE)
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
SyncPoller, Void> beginDelete(
String resourceGroupName,
- SourceControlConfigurationsClusterRp clusterRp,
- SourceControlConfigurationsClusterResourceName clusterResourceName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
String clusterName,
String sourceControlConfigurationName);
@@ -145,7 +145,7 @@ SyncPoller, Void> beginDelete(
* 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 resourceGroupName The name of the resource group. The name is case insensitive.
* @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
@@ -158,11 +158,11 @@ SyncPoller, Void> beginDelete(
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the completion.
*/
- @ServiceMethod(returns = ReturnType.SINGLE)
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
SyncPoller, Void> beginDelete(
String resourceGroupName,
- SourceControlConfigurationsClusterRp clusterRp,
- SourceControlConfigurationsClusterResourceName clusterResourceName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
String clusterName,
String sourceControlConfigurationName,
Context context);
@@ -171,7 +171,7 @@ SyncPoller, Void> beginDelete(
* 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 resourceGroupName The name of the resource group. The name is case insensitive.
* @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
@@ -185,8 +185,8 @@ SyncPoller, Void> beginDelete(
@ServiceMethod(returns = ReturnType.SINGLE)
void delete(
String resourceGroupName,
- SourceControlConfigurationsClusterRp clusterRp,
- SourceControlConfigurationsClusterResourceName clusterResourceName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
String clusterName,
String sourceControlConfigurationName);
@@ -194,7 +194,7 @@ void delete(
* 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 resourceGroupName The name of the resource group. The name is case insensitive.
* @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
@@ -209,8 +209,8 @@ void delete(
@ServiceMethod(returns = ReturnType.SINGLE)
void delete(
String resourceGroupName,
- SourceControlConfigurationsClusterRp clusterRp,
- SourceControlConfigurationsClusterResourceName clusterResourceName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
String clusterName,
String sourceControlConfigurationName,
Context context);
@@ -218,7 +218,7 @@ void delete(
/**
* List all Source Control Configurations.
*
- * @param resourceGroupName The name of the resource group.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
* @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
@@ -232,14 +232,14 @@ void delete(
@ServiceMethod(returns = ReturnType.COLLECTION)
PagedIterable list(
String resourceGroupName,
- SourceControlConfigurationsClusterRp clusterRp,
- SourceControlConfigurationsClusterResourceName clusterResourceName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
String clusterName);
/**
* List all Source Control Configurations.
*
- * @param resourceGroupName The name of the resource group.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
* @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
@@ -254,8 +254,8 @@ PagedIterable list(
@ServiceMethod(returns = ReturnType.COLLECTION)
PagedIterable list(
String resourceGroupName,
- SourceControlConfigurationsClusterRp clusterRp,
- SourceControlConfigurationsClusterResourceName clusterResourceName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
String clusterName,
Context context);
}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ClusterScopeSettingsProperties.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ClusterScopeSettingsProperties.java
new file mode 100644
index 0000000000000..05f7deae6e118
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ClusterScopeSettingsProperties.java
@@ -0,0 +1,76 @@
+// 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.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Extension scope settings. */
+@Fluent
+public final class ClusterScopeSettingsProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ClusterScopeSettingsProperties.class);
+
+ /*
+ * Describes if multiple instances of the extension are allowed
+ */
+ @JsonProperty(value = "allowMultipleInstances")
+ private Boolean allowMultipleInstances;
+
+ /*
+ * Default extension release namespace
+ */
+ @JsonProperty(value = "defaultReleaseNamespace")
+ private String defaultReleaseNamespace;
+
+ /**
+ * Get the allowMultipleInstances property: Describes if multiple instances of the extension are allowed.
+ *
+ * @return the allowMultipleInstances value.
+ */
+ public Boolean allowMultipleInstances() {
+ return this.allowMultipleInstances;
+ }
+
+ /**
+ * Set the allowMultipleInstances property: Describes if multiple instances of the extension are allowed.
+ *
+ * @param allowMultipleInstances the allowMultipleInstances value to set.
+ * @return the ClusterScopeSettingsProperties object itself.
+ */
+ public ClusterScopeSettingsProperties withAllowMultipleInstances(Boolean allowMultipleInstances) {
+ this.allowMultipleInstances = allowMultipleInstances;
+ return this;
+ }
+
+ /**
+ * Get the defaultReleaseNamespace property: Default extension release namespace.
+ *
+ * @return the defaultReleaseNamespace value.
+ */
+ public String defaultReleaseNamespace() {
+ return this.defaultReleaseNamespace;
+ }
+
+ /**
+ * Set the defaultReleaseNamespace property: Default extension release namespace.
+ *
+ * @param defaultReleaseNamespace the defaultReleaseNamespace value to set.
+ * @return the ClusterScopeSettingsProperties object itself.
+ */
+ public ClusterScopeSettingsProperties withDefaultReleaseNamespace(String defaultReleaseNamespace) {
+ this.defaultReleaseNamespace = defaultReleaseNamespace;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionInner.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionInner.java
new file mode 100644
index 0000000000000..9f70c3be3fe94
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionInner.java
@@ -0,0 +1,353 @@
+// 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.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionPropertiesAksAssignedIdentity;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionStatus;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Identity;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ProvisioningState;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Scope;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** The Extension object. */
+@Fluent
+public final class ExtensionInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionInner.class);
+
+ /*
+ * Properties of an Extension resource
+ */
+ @JsonProperty(value = "properties")
+ private ExtensionProperties innerProperties;
+
+ /*
+ * Identity of the Extension resource
+ */
+ @JsonProperty(value = "identity")
+ private Identity identity;
+
+ /*
+ * 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", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: Properties of an Extension resource.
+ *
+ * @return the innerProperties value.
+ */
+ private ExtensionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the identity property: Identity of the Extension resource.
+ *
+ * @return the identity value.
+ */
+ public Identity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: Identity of the Extension resource.
+ *
+ * @param identity the identity value to set.
+ * @return the ExtensionInner object itself.
+ */
+ public ExtensionInner withIdentity(Identity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * 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;
+ }
+
+ /**
+ * Get the extensionType property: Type of the Extension, of which this resource is an instance of. It must be one
+ * of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.
+ *
+ * @return the extensionType value.
+ */
+ public String extensionType() {
+ return this.innerProperties() == null ? null : this.innerProperties().extensionType();
+ }
+
+ /**
+ * Set the extensionType property: Type of the Extension, of which this resource is an instance of. It must be one
+ * of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.
+ *
+ * @param extensionType the extensionType value to set.
+ * @return the ExtensionInner object itself.
+ */
+ public ExtensionInner withExtensionType(String extensionType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExtensionProperties();
+ }
+ this.innerProperties().withExtensionType(extensionType);
+ return this;
+ }
+
+ /**
+ * Get the autoUpgradeMinorVersion property: Flag to note if this extension participates in auto upgrade of minor
+ * version, or not.
+ *
+ * @return the autoUpgradeMinorVersion value.
+ */
+ public Boolean autoUpgradeMinorVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().autoUpgradeMinorVersion();
+ }
+
+ /**
+ * Set the autoUpgradeMinorVersion property: Flag to note if this extension participates in auto upgrade of minor
+ * version, or not.
+ *
+ * @param autoUpgradeMinorVersion the autoUpgradeMinorVersion value to set.
+ * @return the ExtensionInner object itself.
+ */
+ public ExtensionInner withAutoUpgradeMinorVersion(Boolean autoUpgradeMinorVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExtensionProperties();
+ }
+ this.innerProperties().withAutoUpgradeMinorVersion(autoUpgradeMinorVersion);
+ return this;
+ }
+
+ /**
+ * Get the releaseTrain property: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable,
+ * Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.
+ *
+ * @return the releaseTrain value.
+ */
+ public String releaseTrain() {
+ return this.innerProperties() == null ? null : this.innerProperties().releaseTrain();
+ }
+
+ /**
+ * Set the releaseTrain property: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable,
+ * Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.
+ *
+ * @param releaseTrain the releaseTrain value to set.
+ * @return the ExtensionInner object itself.
+ */
+ public ExtensionInner withReleaseTrain(String releaseTrain) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExtensionProperties();
+ }
+ this.innerProperties().withReleaseTrain(releaseTrain);
+ return this;
+ }
+
+ /**
+ * Get the version property: Version of the extension for this extension, if it is 'pinned' to a specific version.
+ * autoUpgradeMinorVersion must be 'false'.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.innerProperties() == null ? null : this.innerProperties().version();
+ }
+
+ /**
+ * Set the version property: Version of the extension for this extension, if it is 'pinned' to a specific version.
+ * autoUpgradeMinorVersion must be 'false'.
+ *
+ * @param version the version value to set.
+ * @return the ExtensionInner object itself.
+ */
+ public ExtensionInner withVersion(String version) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExtensionProperties();
+ }
+ this.innerProperties().withVersion(version);
+ return this;
+ }
+
+ /**
+ * Get the scope property: Scope at which the extension is installed.
+ *
+ * @return the scope value.
+ */
+ public Scope scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Set the scope property: Scope at which the extension is installed.
+ *
+ * @param scope the scope value to set.
+ * @return the ExtensionInner object itself.
+ */
+ public ExtensionInner withScope(Scope scope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExtensionProperties();
+ }
+ this.innerProperties().withScope(scope);
+ return this;
+ }
+
+ /**
+ * Get the configurationSettings property: Configuration settings, as name-value pairs for configuring this
+ * extension.
+ *
+ * @return the configurationSettings value.
+ */
+ public Map configurationSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().configurationSettings();
+ }
+
+ /**
+ * Set the configurationSettings property: Configuration settings, as name-value pairs for configuring this
+ * extension.
+ *
+ * @param configurationSettings the configurationSettings value to set.
+ * @return the ExtensionInner object itself.
+ */
+ public ExtensionInner withConfigurationSettings(Map configurationSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExtensionProperties();
+ }
+ this.innerProperties().withConfigurationSettings(configurationSettings);
+ return this;
+ }
+
+ /**
+ * Get the configurationProtectedSettings property: Configuration settings that are sensitive, as name-value pairs
+ * for configuring this extension.
+ *
+ * @return the configurationProtectedSettings value.
+ */
+ public Map configurationProtectedSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().configurationProtectedSettings();
+ }
+
+ /**
+ * Set the configurationProtectedSettings property: Configuration settings that are sensitive, as name-value pairs
+ * for configuring this extension.
+ *
+ * @param configurationProtectedSettings the configurationProtectedSettings value to set.
+ * @return the ExtensionInner object itself.
+ */
+ public ExtensionInner withConfigurationProtectedSettings(Map configurationProtectedSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExtensionProperties();
+ }
+ this.innerProperties().withConfigurationProtectedSettings(configurationProtectedSettings);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Status of installation of this extension.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the statuses property: Status from this extension.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.innerProperties() == null ? null : this.innerProperties().statuses();
+ }
+
+ /**
+ * Set the statuses property: Status from this extension.
+ *
+ * @param statuses the statuses value to set.
+ * @return the ExtensionInner object itself.
+ */
+ public ExtensionInner withStatuses(List statuses) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExtensionProperties();
+ }
+ this.innerProperties().withStatuses(statuses);
+ return this;
+ }
+
+ /**
+ * Get the errorInfo property: Error information from the Agent - e.g. errors during installation.
+ *
+ * @return the errorInfo value.
+ */
+ public ManagementError errorInfo() {
+ return this.innerProperties() == null ? null : this.innerProperties().errorInfo();
+ }
+
+ /**
+ * Get the customLocationSettings property: Custom Location settings properties.
+ *
+ * @return the customLocationSettings value.
+ */
+ public Map customLocationSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().customLocationSettings();
+ }
+
+ /**
+ * Get the packageUri property: Uri of the Helm package.
+ *
+ * @return the packageUri value.
+ */
+ public String packageUri() {
+ return this.innerProperties() == null ? null : this.innerProperties().packageUri();
+ }
+
+ /**
+ * Get the aksAssignedIdentity property: Identity of the Extension resource in an AKS cluster.
+ *
+ * @return the aksAssignedIdentity value.
+ */
+ public ExtensionPropertiesAksAssignedIdentity aksAssignedIdentity() {
+ return this.innerProperties() == null ? null : this.innerProperties().aksAssignedIdentity();
+ }
+
+ /**
+ * Set the aksAssignedIdentity property: Identity of the Extension resource in an AKS cluster.
+ *
+ * @param aksAssignedIdentity the aksAssignedIdentity value to set.
+ * @return the ExtensionInner object itself.
+ */
+ public ExtensionInner withAksAssignedIdentity(ExtensionPropertiesAksAssignedIdentity aksAssignedIdentity) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ExtensionProperties();
+ }
+ this.innerProperties().withAksAssignedIdentity(aksAssignedIdentity);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionProperties.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionProperties.java
new file mode 100644
index 0000000000000..379724bbf7e4c
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionProperties.java
@@ -0,0 +1,357 @@
+// 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.management.exception.ManagementError;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionPropertiesAksAssignedIdentity;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionStatus;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ProvisioningState;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Scope;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Properties of an Extension resource. */
+@Fluent
+public final class ExtensionProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionProperties.class);
+
+ /*
+ * Type of the Extension, of which this resource is an instance of. It
+ * must be one of the Extension Types registered with
+ * Microsoft.KubernetesConfiguration by the Extension publisher.
+ */
+ @JsonProperty(value = "extensionType")
+ private String extensionType;
+
+ /*
+ * Flag to note if this extension participates in auto upgrade of minor
+ * version, or not.
+ */
+ @JsonProperty(value = "autoUpgradeMinorVersion")
+ private Boolean autoUpgradeMinorVersion;
+
+ /*
+ * ReleaseTrain this extension participates in for auto-upgrade (e.g.
+ * Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.
+ */
+ @JsonProperty(value = "releaseTrain")
+ private String releaseTrain;
+
+ /*
+ * Version of the extension for this extension, if it is 'pinned' to a
+ * specific version. autoUpgradeMinorVersion must be 'false'.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /*
+ * Scope at which the extension is installed.
+ */
+ @JsonProperty(value = "scope")
+ private Scope scope;
+
+ /*
+ * Configuration settings, as name-value pairs for configuring this
+ * extension.
+ */
+ @JsonProperty(value = "configurationSettings")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map configurationSettings;
+
+ /*
+ * Configuration settings that are sensitive, as name-value pairs for
+ * configuring this extension.
+ */
+ @JsonProperty(value = "configurationProtectedSettings")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map configurationProtectedSettings;
+
+ /*
+ * Status of installation of this extension.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * Status from this extension.
+ */
+ @JsonProperty(value = "statuses")
+ private List statuses;
+
+ /*
+ * Error information from the Agent - e.g. errors during installation.
+ */
+ @JsonProperty(value = "errorInfo", access = JsonProperty.Access.WRITE_ONLY)
+ private ManagementError errorInfo;
+
+ /*
+ * Custom Location settings properties.
+ */
+ @JsonProperty(value = "customLocationSettings", access = JsonProperty.Access.WRITE_ONLY)
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map customLocationSettings;
+
+ /*
+ * Uri of the Helm package
+ */
+ @JsonProperty(value = "packageUri", access = JsonProperty.Access.WRITE_ONLY)
+ private String packageUri;
+
+ /*
+ * Identity of the Extension resource in an AKS cluster
+ */
+ @JsonProperty(value = "aksAssignedIdentity")
+ private ExtensionPropertiesAksAssignedIdentity aksAssignedIdentity;
+
+ /**
+ * Get the extensionType property: Type of the Extension, of which this resource is an instance of. It must be one
+ * of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.
+ *
+ * @return the extensionType value.
+ */
+ public String extensionType() {
+ return this.extensionType;
+ }
+
+ /**
+ * Set the extensionType property: Type of the Extension, of which this resource is an instance of. It must be one
+ * of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.
+ *
+ * @param extensionType the extensionType value to set.
+ * @return the ExtensionProperties object itself.
+ */
+ public ExtensionProperties withExtensionType(String extensionType) {
+ this.extensionType = extensionType;
+ return this;
+ }
+
+ /**
+ * Get the autoUpgradeMinorVersion property: Flag to note if this extension participates in auto upgrade of minor
+ * version, or not.
+ *
+ * @return the autoUpgradeMinorVersion value.
+ */
+ public Boolean autoUpgradeMinorVersion() {
+ return this.autoUpgradeMinorVersion;
+ }
+
+ /**
+ * Set the autoUpgradeMinorVersion property: Flag to note if this extension participates in auto upgrade of minor
+ * version, or not.
+ *
+ * @param autoUpgradeMinorVersion the autoUpgradeMinorVersion value to set.
+ * @return the ExtensionProperties object itself.
+ */
+ public ExtensionProperties withAutoUpgradeMinorVersion(Boolean autoUpgradeMinorVersion) {
+ this.autoUpgradeMinorVersion = autoUpgradeMinorVersion;
+ return this;
+ }
+
+ /**
+ * Get the releaseTrain property: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable,
+ * Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.
+ *
+ * @return the releaseTrain value.
+ */
+ public String releaseTrain() {
+ return this.releaseTrain;
+ }
+
+ /**
+ * Set the releaseTrain property: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable,
+ * Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.
+ *
+ * @param releaseTrain the releaseTrain value to set.
+ * @return the ExtensionProperties object itself.
+ */
+ public ExtensionProperties withReleaseTrain(String releaseTrain) {
+ this.releaseTrain = releaseTrain;
+ return this;
+ }
+
+ /**
+ * Get the version property: Version of the extension for this extension, if it is 'pinned' to a specific version.
+ * autoUpgradeMinorVersion must be 'false'.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the version property: Version of the extension for this extension, if it is 'pinned' to a specific version.
+ * autoUpgradeMinorVersion must be 'false'.
+ *
+ * @param version the version value to set.
+ * @return the ExtensionProperties object itself.
+ */
+ public ExtensionProperties withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get the scope property: Scope at which the extension is installed.
+ *
+ * @return the scope value.
+ */
+ public Scope scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: Scope at which the extension is installed.
+ *
+ * @param scope the scope value to set.
+ * @return the ExtensionProperties object itself.
+ */
+ public ExtensionProperties withScope(Scope scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the configurationSettings property: Configuration settings, as name-value pairs for configuring this
+ * extension.
+ *
+ * @return the configurationSettings value.
+ */
+ public Map configurationSettings() {
+ return this.configurationSettings;
+ }
+
+ /**
+ * Set the configurationSettings property: Configuration settings, as name-value pairs for configuring this
+ * extension.
+ *
+ * @param configurationSettings the configurationSettings value to set.
+ * @return the ExtensionProperties object itself.
+ */
+ public ExtensionProperties withConfigurationSettings(Map configurationSettings) {
+ this.configurationSettings = configurationSettings;
+ return this;
+ }
+
+ /**
+ * Get the configurationProtectedSettings property: Configuration settings that are sensitive, as name-value pairs
+ * for configuring this extension.
+ *
+ * @return the configurationProtectedSettings value.
+ */
+ public Map configurationProtectedSettings() {
+ return this.configurationProtectedSettings;
+ }
+
+ /**
+ * Set the configurationProtectedSettings property: Configuration settings that are sensitive, as name-value pairs
+ * for configuring this extension.
+ *
+ * @param configurationProtectedSettings the configurationProtectedSettings value to set.
+ * @return the ExtensionProperties object itself.
+ */
+ public ExtensionProperties withConfigurationProtectedSettings(Map configurationProtectedSettings) {
+ this.configurationProtectedSettings = configurationProtectedSettings;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Status of installation of this extension.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the statuses property: Status from this extension.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Set the statuses property: Status from this extension.
+ *
+ * @param statuses the statuses value to set.
+ * @return the ExtensionProperties object itself.
+ */
+ public ExtensionProperties withStatuses(List statuses) {
+ this.statuses = statuses;
+ return this;
+ }
+
+ /**
+ * Get the errorInfo property: Error information from the Agent - e.g. errors during installation.
+ *
+ * @return the errorInfo value.
+ */
+ public ManagementError errorInfo() {
+ return this.errorInfo;
+ }
+
+ /**
+ * Get the customLocationSettings property: Custom Location settings properties.
+ *
+ * @return the customLocationSettings value.
+ */
+ public Map customLocationSettings() {
+ return this.customLocationSettings;
+ }
+
+ /**
+ * Get the packageUri property: Uri of the Helm package.
+ *
+ * @return the packageUri value.
+ */
+ public String packageUri() {
+ return this.packageUri;
+ }
+
+ /**
+ * Get the aksAssignedIdentity property: Identity of the Extension resource in an AKS cluster.
+ *
+ * @return the aksAssignedIdentity value.
+ */
+ public ExtensionPropertiesAksAssignedIdentity aksAssignedIdentity() {
+ return this.aksAssignedIdentity;
+ }
+
+ /**
+ * Set the aksAssignedIdentity property: Identity of the Extension resource in an AKS cluster.
+ *
+ * @param aksAssignedIdentity the aksAssignedIdentity value to set.
+ * @return the ExtensionProperties object itself.
+ */
+ public ExtensionProperties withAksAssignedIdentity(ExtensionPropertiesAksAssignedIdentity aksAssignedIdentity) {
+ this.aksAssignedIdentity = aksAssignedIdentity;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (scope() != null) {
+ scope().validate();
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ if (aksAssignedIdentity() != null) {
+ aksAssignedIdentity().validate();
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionTypeInner.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionTypeInner.java
new file mode 100644
index 0000000000000..12e738edcd610
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionTypeInner.java
@@ -0,0 +1,93 @@
+// 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.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterTypes;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SupportedScopes;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Represents an Extension Type. */
+@Fluent
+public final class ExtensionTypeInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionTypeInner.class);
+
+ /*
+ * Describes the Resource Type properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private ExtensionTypeProperties innerProperties = new ExtensionTypeProperties();
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: Describes the Resource Type properties.
+ *
+ * @return the innerProperties value.
+ */
+ private ExtensionTypeProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the releaseTrains property: Extension release train: preview or stable.
+ *
+ * @return the releaseTrains value.
+ */
+ public List releaseTrains() {
+ return this.innerProperties() == null ? null : this.innerProperties().releaseTrains();
+ }
+
+ /**
+ * Get the clusterTypes property: Cluster types.
+ *
+ * @return the clusterTypes value.
+ */
+ public ClusterTypes clusterTypes() {
+ return this.innerProperties() == null ? null : this.innerProperties().clusterTypes();
+ }
+
+ /**
+ * Get the supportedScopes property: Extension scopes.
+ *
+ * @return the supportedScopes value.
+ */
+ public SupportedScopes supportedScopes() {
+ return this.innerProperties() == null ? null : this.innerProperties().supportedScopes();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model ExtensionTypeInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionTypeProperties.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionTypeProperties.java
new file mode 100644
index 0000000000000..2e9bd3257c835
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/ExtensionTypeProperties.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterTypes;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SupportedScopes;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Properties of the connected cluster. */
+@Immutable
+public final class ExtensionTypeProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionTypeProperties.class);
+
+ /*
+ * Extension release train: preview or stable
+ */
+ @JsonProperty(value = "releaseTrains", access = JsonProperty.Access.WRITE_ONLY)
+ private List releaseTrains;
+
+ /*
+ * Cluster types
+ */
+ @JsonProperty(value = "clusterTypes", access = JsonProperty.Access.WRITE_ONLY)
+ private ClusterTypes clusterTypes;
+
+ /*
+ * Extension scopes
+ */
+ @JsonProperty(value = "supportedScopes", access = JsonProperty.Access.WRITE_ONLY)
+ private SupportedScopes supportedScopes;
+
+ /**
+ * Get the releaseTrains property: Extension release train: preview or stable.
+ *
+ * @return the releaseTrains value.
+ */
+ public List releaseTrains() {
+ return this.releaseTrains;
+ }
+
+ /**
+ * Get the clusterTypes property: Cluster types.
+ *
+ * @return the clusterTypes value.
+ */
+ public ClusterTypes clusterTypes() {
+ return this.clusterTypes;
+ }
+
+ /**
+ * Get the supportedScopes property: Extension scopes.
+ *
+ * @return the supportedScopes value.
+ */
+ public SupportedScopes supportedScopes() {
+ return this.supportedScopes;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (supportedScopes() != null) {
+ supportedScopes().validate();
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/FluxConfigurationInner.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/FluxConfigurationInner.java
new file mode 100644
index 0000000000000..931de50eacb47
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/FluxConfigurationInner.java
@@ -0,0 +1,331 @@
+// 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.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.models.BucketDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxComplianceState;
+import com.azure.resourcemanager.kubernetesconfiguration.models.GitRepositoryDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.KustomizationDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ObjectStatusDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ProvisioningState;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ScopeType;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SourceKindType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.Map;
+
+/** The Flux Configuration object returned in Get & Put response. */
+@Fluent
+public final class FluxConfigurationInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(FluxConfigurationInner.class);
+
+ /*
+ * Properties to create a Flux Configuration resource
+ */
+ @JsonProperty(value = "properties")
+ private FluxConfigurationProperties innerProperties;
+
+ /*
+ * 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", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: Properties to create a Flux Configuration resource.
+ *
+ * @return the innerProperties value.
+ */
+ private FluxConfigurationProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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;
+ }
+
+ /**
+ * Get the scope property: Scope at which the operator will be installed.
+ *
+ * @return the scope value.
+ */
+ public ScopeType scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Set the scope property: Scope at which the operator will be installed.
+ *
+ * @param scope the scope value to set.
+ * @return the FluxConfigurationInner object itself.
+ */
+ public FluxConfigurationInner withScope(ScopeType scope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new FluxConfigurationProperties();
+ }
+ this.innerProperties().withScope(scope);
+ return this;
+ }
+
+ /**
+ * Get the namespace property: The namespace to which this configuration is installed to. Maximum of 253 lower case
+ * alphanumeric characters, hyphen and period only.
+ *
+ * @return the namespace value.
+ */
+ public String namespace() {
+ return this.innerProperties() == null ? null : this.innerProperties().namespace();
+ }
+
+ /**
+ * Set the namespace property: The namespace to which this configuration is installed to. Maximum of 253 lower case
+ * alphanumeric characters, hyphen and period only.
+ *
+ * @param namespace the namespace value to set.
+ * @return the FluxConfigurationInner object itself.
+ */
+ public FluxConfigurationInner withNamespace(String namespace) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new FluxConfigurationProperties();
+ }
+ this.innerProperties().withNamespace(namespace);
+ return this;
+ }
+
+ /**
+ * Get the sourceKind property: Source Kind to pull the configuration data from.
+ *
+ * @return the sourceKind value.
+ */
+ public SourceKindType sourceKind() {
+ return this.innerProperties() == null ? null : this.innerProperties().sourceKind();
+ }
+
+ /**
+ * Set the sourceKind property: Source Kind to pull the configuration data from.
+ *
+ * @param sourceKind the sourceKind value to set.
+ * @return the FluxConfigurationInner object itself.
+ */
+ public FluxConfigurationInner withSourceKind(SourceKindType sourceKind) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new FluxConfigurationProperties();
+ }
+ this.innerProperties().withSourceKind(sourceKind);
+ return this;
+ }
+
+ /**
+ * Get the suspend property: Whether this configuration should suspend its reconciliation of its kustomizations and
+ * sources.
+ *
+ * @return the suspend value.
+ */
+ public Boolean suspend() {
+ return this.innerProperties() == null ? null : this.innerProperties().suspend();
+ }
+
+ /**
+ * Set the suspend property: Whether this configuration should suspend its reconciliation of its kustomizations and
+ * sources.
+ *
+ * @param suspend the suspend value to set.
+ * @return the FluxConfigurationInner object itself.
+ */
+ public FluxConfigurationInner withSuspend(Boolean suspend) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new FluxConfigurationProperties();
+ }
+ this.innerProperties().withSuspend(suspend);
+ return this;
+ }
+
+ /**
+ * Get the gitRepository property: Parameters to reconcile to the GitRepository source kind type.
+ *
+ * @return the gitRepository value.
+ */
+ public GitRepositoryDefinition gitRepository() {
+ return this.innerProperties() == null ? null : this.innerProperties().gitRepository();
+ }
+
+ /**
+ * Set the gitRepository property: Parameters to reconcile to the GitRepository source kind type.
+ *
+ * @param gitRepository the gitRepository value to set.
+ * @return the FluxConfigurationInner object itself.
+ */
+ public FluxConfigurationInner withGitRepository(GitRepositoryDefinition gitRepository) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new FluxConfigurationProperties();
+ }
+ this.innerProperties().withGitRepository(gitRepository);
+ return this;
+ }
+
+ /**
+ * Get the bucket property: Parameters to reconcile to the Bucket source kind type.
+ *
+ * @return the bucket value.
+ */
+ public BucketDefinition bucket() {
+ return this.innerProperties() == null ? null : this.innerProperties().bucket();
+ }
+
+ /**
+ * Set the bucket property: Parameters to reconcile to the Bucket source kind type.
+ *
+ * @param bucket the bucket value to set.
+ * @return the FluxConfigurationInner object itself.
+ */
+ public FluxConfigurationInner withBucket(BucketDefinition bucket) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new FluxConfigurationProperties();
+ }
+ this.innerProperties().withBucket(bucket);
+ return this;
+ }
+
+ /**
+ * Get the kustomizations property: Array of kustomizations used to reconcile the artifact pulled by the source type
+ * on the cluster.
+ *
+ * @return the kustomizations value.
+ */
+ public Map kustomizations() {
+ return this.innerProperties() == null ? null : this.innerProperties().kustomizations();
+ }
+
+ /**
+ * Set the kustomizations property: Array of kustomizations used to reconcile the artifact pulled by the source type
+ * on the cluster.
+ *
+ * @param kustomizations the kustomizations value to set.
+ * @return the FluxConfigurationInner object itself.
+ */
+ public FluxConfigurationInner withKustomizations(Map kustomizations) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new FluxConfigurationProperties();
+ }
+ this.innerProperties().withKustomizations(kustomizations);
+ return this;
+ }
+
+ /**
+ * Get the configurationProtectedSettings property: Key-value pairs of protected configuration settings for the
+ * configuration.
+ *
+ * @return the configurationProtectedSettings value.
+ */
+ public Map configurationProtectedSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().configurationProtectedSettings();
+ }
+
+ /**
+ * Set the configurationProtectedSettings property: Key-value pairs of protected configuration settings for the
+ * configuration.
+ *
+ * @param configurationProtectedSettings the configurationProtectedSettings value to set.
+ * @return the FluxConfigurationInner object itself.
+ */
+ public FluxConfigurationInner withConfigurationProtectedSettings(
+ Map configurationProtectedSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new FluxConfigurationProperties();
+ }
+ this.innerProperties().withConfigurationProtectedSettings(configurationProtectedSettings);
+ return this;
+ }
+
+ /**
+ * Get the statuses property: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created
+ * by the managed objects provisioned by the fluxConfiguration.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.innerProperties() == null ? null : this.innerProperties().statuses();
+ }
+
+ /**
+ * Get the repositoryPublicKey property: Public Key associated with this fluxConfiguration (either generated within
+ * the cluster or provided by the user).
+ *
+ * @return the repositoryPublicKey value.
+ */
+ public String repositoryPublicKey() {
+ return this.innerProperties() == null ? null : this.innerProperties().repositoryPublicKey();
+ }
+
+ /**
+ * Get the lastSourceSyncedCommitId property: Branch and SHA of the last source commit synced with the cluster.
+ *
+ * @return the lastSourceSyncedCommitId value.
+ */
+ public String lastSourceSyncedCommitId() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastSourceSyncedCommitId();
+ }
+
+ /**
+ * Get the lastSourceSyncedAt property: Datetime the fluxConfiguration last synced its source on the cluster.
+ *
+ * @return the lastSourceSyncedAt value.
+ */
+ public OffsetDateTime lastSourceSyncedAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastSourceSyncedAt();
+ }
+
+ /**
+ * Get the complianceState property: Combined status of the Flux Kubernetes resources created by the
+ * fluxConfiguration or created by the managed objects.
+ *
+ * @return the complianceState value.
+ */
+ public FluxComplianceState complianceState() {
+ return this.innerProperties() == null ? null : this.innerProperties().complianceState();
+ }
+
+ /**
+ * Get the provisioningState property: Status of the creation of the fluxConfiguration.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the errorMessage property: Error message returned to the user in the case of provisioning failure.
+ *
+ * @return the errorMessage value.
+ */
+ public String errorMessage() {
+ return this.innerProperties() == null ? null : this.innerProperties().errorMessage();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/FluxConfigurationPatchProperties.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/FluxConfigurationPatchProperties.java
new file mode 100644
index 0000000000000..9eca4d9b10bd1
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/FluxConfigurationPatchProperties.java
@@ -0,0 +1,215 @@
+// 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.BucketDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.GitRepositoryPatchDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.KustomizationPatchDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SourceKindType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Updatable properties of an Flux Configuration Patch Request. */
+@Fluent
+public final class FluxConfigurationPatchProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(FluxConfigurationPatchProperties.class);
+
+ /*
+ * Source Kind to pull the configuration data from.
+ */
+ @JsonProperty(value = "sourceKind")
+ private SourceKindType sourceKind;
+
+ /*
+ * Whether this configuration should suspend its reconciliation of its
+ * kustomizations and sources.
+ */
+ @JsonProperty(value = "suspend")
+ private Boolean suspend;
+
+ /*
+ * Parameters to reconcile to the GitRepository source kind type.
+ */
+ @JsonProperty(value = "gitRepository")
+ private GitRepositoryPatchDefinition gitRepository;
+
+ /*
+ * Parameters to reconcile to the Bucket source kind type.
+ */
+ @JsonProperty(value = "bucket")
+ private BucketDefinition bucket;
+
+ /*
+ * Array of kustomizations used to reconcile the artifact pulled by the
+ * source type on the cluster.
+ */
+ @JsonProperty(value = "kustomizations")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map kustomizations;
+
+ /*
+ * Key-value pairs of protected configuration settings for the
+ * configuration
+ */
+ @JsonProperty(value = "configurationProtectedSettings")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map configurationProtectedSettings;
+
+ /**
+ * Get the sourceKind property: Source Kind to pull the configuration data from.
+ *
+ * @return the sourceKind value.
+ */
+ public SourceKindType sourceKind() {
+ return this.sourceKind;
+ }
+
+ /**
+ * Set the sourceKind property: Source Kind to pull the configuration data from.
+ *
+ * @param sourceKind the sourceKind value to set.
+ * @return the FluxConfigurationPatchProperties object itself.
+ */
+ public FluxConfigurationPatchProperties withSourceKind(SourceKindType sourceKind) {
+ this.sourceKind = sourceKind;
+ return this;
+ }
+
+ /**
+ * Get the suspend property: Whether this configuration should suspend its reconciliation of its kustomizations and
+ * sources.
+ *
+ * @return the suspend value.
+ */
+ public Boolean suspend() {
+ return this.suspend;
+ }
+
+ /**
+ * Set the suspend property: Whether this configuration should suspend its reconciliation of its kustomizations and
+ * sources.
+ *
+ * @param suspend the suspend value to set.
+ * @return the FluxConfigurationPatchProperties object itself.
+ */
+ public FluxConfigurationPatchProperties withSuspend(Boolean suspend) {
+ this.suspend = suspend;
+ return this;
+ }
+
+ /**
+ * Get the gitRepository property: Parameters to reconcile to the GitRepository source kind type.
+ *
+ * @return the gitRepository value.
+ */
+ public GitRepositoryPatchDefinition gitRepository() {
+ return this.gitRepository;
+ }
+
+ /**
+ * Set the gitRepository property: Parameters to reconcile to the GitRepository source kind type.
+ *
+ * @param gitRepository the gitRepository value to set.
+ * @return the FluxConfigurationPatchProperties object itself.
+ */
+ public FluxConfigurationPatchProperties withGitRepository(GitRepositoryPatchDefinition gitRepository) {
+ this.gitRepository = gitRepository;
+ return this;
+ }
+
+ /**
+ * Get the bucket property: Parameters to reconcile to the Bucket source kind type.
+ *
+ * @return the bucket value.
+ */
+ public BucketDefinition bucket() {
+ return this.bucket;
+ }
+
+ /**
+ * Set the bucket property: Parameters to reconcile to the Bucket source kind type.
+ *
+ * @param bucket the bucket value to set.
+ * @return the FluxConfigurationPatchProperties object itself.
+ */
+ public FluxConfigurationPatchProperties withBucket(BucketDefinition bucket) {
+ this.bucket = bucket;
+ return this;
+ }
+
+ /**
+ * Get the kustomizations property: Array of kustomizations used to reconcile the artifact pulled by the source type
+ * on the cluster.
+ *
+ * @return the kustomizations value.
+ */
+ public Map kustomizations() {
+ return this.kustomizations;
+ }
+
+ /**
+ * Set the kustomizations property: Array of kustomizations used to reconcile the artifact pulled by the source type
+ * on the cluster.
+ *
+ * @param kustomizations the kustomizations value to set.
+ * @return the FluxConfigurationPatchProperties object itself.
+ */
+ public FluxConfigurationPatchProperties withKustomizations(
+ Map kustomizations) {
+ this.kustomizations = kustomizations;
+ return this;
+ }
+
+ /**
+ * Get the configurationProtectedSettings property: Key-value pairs of protected configuration settings for the
+ * configuration.
+ *
+ * @return the configurationProtectedSettings value.
+ */
+ public Map configurationProtectedSettings() {
+ return this.configurationProtectedSettings;
+ }
+
+ /**
+ * Set the configurationProtectedSettings property: Key-value pairs of protected configuration settings for the
+ * configuration.
+ *
+ * @param configurationProtectedSettings the configurationProtectedSettings value to set.
+ * @return the FluxConfigurationPatchProperties object itself.
+ */
+ public FluxConfigurationPatchProperties withConfigurationProtectedSettings(
+ Map configurationProtectedSettings) {
+ this.configurationProtectedSettings = configurationProtectedSettings;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (gitRepository() != null) {
+ gitRepository().validate();
+ }
+ if (bucket() != null) {
+ bucket().validate();
+ }
+ if (kustomizations() != null) {
+ kustomizations()
+ .values()
+ .forEach(
+ e -> {
+ if (e != null) {
+ e.validate();
+ }
+ });
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/FluxConfigurationProperties.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/FluxConfigurationProperties.java
new file mode 100644
index 0000000000000..68101b085bc42
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/FluxConfigurationProperties.java
@@ -0,0 +1,390 @@
+// 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.BucketDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxComplianceState;
+import com.azure.resourcemanager.kubernetesconfiguration.models.GitRepositoryDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.KustomizationDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ObjectStatusDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ProvisioningState;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ScopeType;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SourceKindType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.Map;
+
+/** Properties to create a Flux Configuration resource. */
+@Fluent
+public final class FluxConfigurationProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(FluxConfigurationProperties.class);
+
+ /*
+ * Scope at which the operator will be installed.
+ */
+ @JsonProperty(value = "scope")
+ private ScopeType scope;
+
+ /*
+ * The namespace to which this configuration is installed to. Maximum of
+ * 253 lower case alphanumeric characters, hyphen and period only.
+ */
+ @JsonProperty(value = "namespace")
+ private String namespace;
+
+ /*
+ * Source Kind to pull the configuration data from.
+ */
+ @JsonProperty(value = "sourceKind")
+ private SourceKindType sourceKind;
+
+ /*
+ * Whether this configuration should suspend its reconciliation of its
+ * kustomizations and sources.
+ */
+ @JsonProperty(value = "suspend")
+ private Boolean suspend;
+
+ /*
+ * Parameters to reconcile to the GitRepository source kind type.
+ */
+ @JsonProperty(value = "gitRepository")
+ private GitRepositoryDefinition gitRepository;
+
+ /*
+ * Parameters to reconcile to the Bucket source kind type.
+ */
+ @JsonProperty(value = "bucket")
+ private BucketDefinition bucket;
+
+ /*
+ * Array of kustomizations used to reconcile the artifact pulled by the
+ * source type on the cluster.
+ */
+ @JsonProperty(value = "kustomizations")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map kustomizations;
+
+ /*
+ * Key-value pairs of protected configuration settings for the
+ * configuration
+ */
+ @JsonProperty(value = "configurationProtectedSettings")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map configurationProtectedSettings;
+
+ /*
+ * Statuses of the Flux Kubernetes resources created by the
+ * fluxConfiguration or created by the managed objects provisioned by the
+ * fluxConfiguration.
+ */
+ @JsonProperty(value = "statuses", access = JsonProperty.Access.WRITE_ONLY)
+ private List statuses;
+
+ /*
+ * Public Key associated with this fluxConfiguration (either generated
+ * within the cluster or provided by the user).
+ */
+ @JsonProperty(value = "repositoryPublicKey", access = JsonProperty.Access.WRITE_ONLY)
+ private String repositoryPublicKey;
+
+ /*
+ * Branch and SHA of the last source commit synced with the cluster.
+ */
+ @JsonProperty(value = "lastSourceSyncedCommitId", access = JsonProperty.Access.WRITE_ONLY)
+ private String lastSourceSyncedCommitId;
+
+ /*
+ * Datetime the fluxConfiguration last synced its source on the cluster.
+ */
+ @JsonProperty(value = "lastSourceSyncedAt", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastSourceSyncedAt;
+
+ /*
+ * Combined status of the Flux Kubernetes resources created by the
+ * fluxConfiguration or created by the managed objects.
+ */
+ @JsonProperty(value = "complianceState", access = JsonProperty.Access.WRITE_ONLY)
+ private FluxComplianceState complianceState;
+
+ /*
+ * Status of the creation of the fluxConfiguration.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * Error message returned to the user in the case of provisioning failure.
+ */
+ @JsonProperty(value = "errorMessage", access = JsonProperty.Access.WRITE_ONLY)
+ private String errorMessage;
+
+ /**
+ * Get the scope property: Scope at which the operator will be installed.
+ *
+ * @return the scope value.
+ */
+ public ScopeType scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: Scope at which the operator will be installed.
+ *
+ * @param scope the scope value to set.
+ * @return the FluxConfigurationProperties object itself.
+ */
+ public FluxConfigurationProperties withScope(ScopeType scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the namespace property: The namespace to which this configuration is installed to. Maximum of 253 lower case
+ * alphanumeric characters, hyphen and period only.
+ *
+ * @return the namespace value.
+ */
+ public String namespace() {
+ return this.namespace;
+ }
+
+ /**
+ * Set the namespace property: The namespace to which this configuration is installed to. Maximum of 253 lower case
+ * alphanumeric characters, hyphen and period only.
+ *
+ * @param namespace the namespace value to set.
+ * @return the FluxConfigurationProperties object itself.
+ */
+ public FluxConfigurationProperties withNamespace(String namespace) {
+ this.namespace = namespace;
+ return this;
+ }
+
+ /**
+ * Get the sourceKind property: Source Kind to pull the configuration data from.
+ *
+ * @return the sourceKind value.
+ */
+ public SourceKindType sourceKind() {
+ return this.sourceKind;
+ }
+
+ /**
+ * Set the sourceKind property: Source Kind to pull the configuration data from.
+ *
+ * @param sourceKind the sourceKind value to set.
+ * @return the FluxConfigurationProperties object itself.
+ */
+ public FluxConfigurationProperties withSourceKind(SourceKindType sourceKind) {
+ this.sourceKind = sourceKind;
+ return this;
+ }
+
+ /**
+ * Get the suspend property: Whether this configuration should suspend its reconciliation of its kustomizations and
+ * sources.
+ *
+ * @return the suspend value.
+ */
+ public Boolean suspend() {
+ return this.suspend;
+ }
+
+ /**
+ * Set the suspend property: Whether this configuration should suspend its reconciliation of its kustomizations and
+ * sources.
+ *
+ * @param suspend the suspend value to set.
+ * @return the FluxConfigurationProperties object itself.
+ */
+ public FluxConfigurationProperties withSuspend(Boolean suspend) {
+ this.suspend = suspend;
+ return this;
+ }
+
+ /**
+ * Get the gitRepository property: Parameters to reconcile to the GitRepository source kind type.
+ *
+ * @return the gitRepository value.
+ */
+ public GitRepositoryDefinition gitRepository() {
+ return this.gitRepository;
+ }
+
+ /**
+ * Set the gitRepository property: Parameters to reconcile to the GitRepository source kind type.
+ *
+ * @param gitRepository the gitRepository value to set.
+ * @return the FluxConfigurationProperties object itself.
+ */
+ public FluxConfigurationProperties withGitRepository(GitRepositoryDefinition gitRepository) {
+ this.gitRepository = gitRepository;
+ return this;
+ }
+
+ /**
+ * Get the bucket property: Parameters to reconcile to the Bucket source kind type.
+ *
+ * @return the bucket value.
+ */
+ public BucketDefinition bucket() {
+ return this.bucket;
+ }
+
+ /**
+ * Set the bucket property: Parameters to reconcile to the Bucket source kind type.
+ *
+ * @param bucket the bucket value to set.
+ * @return the FluxConfigurationProperties object itself.
+ */
+ public FluxConfigurationProperties withBucket(BucketDefinition bucket) {
+ this.bucket = bucket;
+ return this;
+ }
+
+ /**
+ * Get the kustomizations property: Array of kustomizations used to reconcile the artifact pulled by the source type
+ * on the cluster.
+ *
+ * @return the kustomizations value.
+ */
+ public Map kustomizations() {
+ return this.kustomizations;
+ }
+
+ /**
+ * Set the kustomizations property: Array of kustomizations used to reconcile the artifact pulled by the source type
+ * on the cluster.
+ *
+ * @param kustomizations the kustomizations value to set.
+ * @return the FluxConfigurationProperties object itself.
+ */
+ public FluxConfigurationProperties withKustomizations(Map kustomizations) {
+ this.kustomizations = kustomizations;
+ return this;
+ }
+
+ /**
+ * Get the configurationProtectedSettings property: Key-value pairs of protected configuration settings for the
+ * configuration.
+ *
+ * @return the configurationProtectedSettings value.
+ */
+ public Map configurationProtectedSettings() {
+ return this.configurationProtectedSettings;
+ }
+
+ /**
+ * Set the configurationProtectedSettings property: Key-value pairs of protected configuration settings for the
+ * configuration.
+ *
+ * @param configurationProtectedSettings the configurationProtectedSettings value to set.
+ * @return the FluxConfigurationProperties object itself.
+ */
+ public FluxConfigurationProperties withConfigurationProtectedSettings(
+ Map configurationProtectedSettings) {
+ this.configurationProtectedSettings = configurationProtectedSettings;
+ return this;
+ }
+
+ /**
+ * Get the statuses property: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created
+ * by the managed objects provisioned by the fluxConfiguration.
+ *
+ * @return the statuses value.
+ */
+ public List statuses() {
+ return this.statuses;
+ }
+
+ /**
+ * Get the repositoryPublicKey property: Public Key associated with this fluxConfiguration (either generated within
+ * the cluster or provided by the user).
+ *
+ * @return the repositoryPublicKey value.
+ */
+ public String repositoryPublicKey() {
+ return this.repositoryPublicKey;
+ }
+
+ /**
+ * Get the lastSourceSyncedCommitId property: Branch and SHA of the last source commit synced with the cluster.
+ *
+ * @return the lastSourceSyncedCommitId value.
+ */
+ public String lastSourceSyncedCommitId() {
+ return this.lastSourceSyncedCommitId;
+ }
+
+ /**
+ * Get the lastSourceSyncedAt property: Datetime the fluxConfiguration last synced its source on the cluster.
+ *
+ * @return the lastSourceSyncedAt value.
+ */
+ public OffsetDateTime lastSourceSyncedAt() {
+ return this.lastSourceSyncedAt;
+ }
+
+ /**
+ * Get the complianceState property: Combined status of the Flux Kubernetes resources created by the
+ * fluxConfiguration or created by the managed objects.
+ *
+ * @return the complianceState value.
+ */
+ public FluxComplianceState complianceState() {
+ return this.complianceState;
+ }
+
+ /**
+ * Get the provisioningState property: Status of the creation of the fluxConfiguration.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the errorMessage property: Error message returned to the user in the case of provisioning failure.
+ *
+ * @return the errorMessage value.
+ */
+ public String errorMessage() {
+ return this.errorMessage;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (gitRepository() != null) {
+ gitRepository().validate();
+ }
+ if (bucket() != null) {
+ bucket().validate();
+ }
+ if (kustomizations() != null) {
+ kustomizations()
+ .values()
+ .forEach(
+ e -> {
+ if (e != null) {
+ e.validate();
+ }
+ });
+ }
+ if (statuses() != null) {
+ statuses().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/OperationStatusResultInner.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/OperationStatusResultInner.java
new file mode 100644
index 0000000000000..41e272ba6e810
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/OperationStatusResultInner.java
@@ -0,0 +1,153 @@
+// 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.management.exception.ManagementError;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** The current status of an async operation. */
+@Fluent
+public final class OperationStatusResultInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationStatusResultInner.class);
+
+ /*
+ * Fully qualified ID for the async operation.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * Name of the async operation.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * Operation status.
+ */
+ @JsonProperty(value = "status", required = true)
+ private String status;
+
+ /*
+ * Additional information, if available.
+ */
+ @JsonProperty(value = "properties")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map properties;
+
+ /*
+ * If present, details of the operation error.
+ */
+ @JsonProperty(value = "error", access = JsonProperty.Access.WRITE_ONLY)
+ private ManagementError error;
+
+ /**
+ * Get the id property: Fully qualified ID for the async operation.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Fully qualified ID for the async operation.
+ *
+ * @param id the id value to set.
+ * @return the OperationStatusResultInner object itself.
+ */
+ public OperationStatusResultInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the name property: Name of the async operation.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Name of the async operation.
+ *
+ * @param name the name value to set.
+ * @return the OperationStatusResultInner object itself.
+ */
+ public OperationStatusResultInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the status property: Operation status.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: Operation status.
+ *
+ * @param status the status value to set.
+ * @return the OperationStatusResultInner object itself.
+ */
+ public OperationStatusResultInner withStatus(String status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the properties property: Additional information, if available.
+ *
+ * @return the properties value.
+ */
+ public Map properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Additional information, if available.
+ *
+ * @param properties the properties value to set.
+ * @return the OperationStatusResultInner object itself.
+ */
+ public OperationStatusResultInner withProperties(Map properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the error property: If present, details of the operation error.
+ *
+ * @return the error value.
+ */
+ public ManagementError error() {
+ return this.error;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (status() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property status in model OperationStatusResultInner"));
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/PatchExtensionProperties.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/PatchExtensionProperties.java
new file mode 100644
index 0000000000000..b2fee0978b480
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/PatchExtensionProperties.java
@@ -0,0 +1,174 @@
+// 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.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Updatable properties of an Extension Patch Request. */
+@Fluent
+public final class PatchExtensionProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PatchExtensionProperties.class);
+
+ /*
+ * Flag to note if this extension participates in auto upgrade of minor
+ * version, or not.
+ */
+ @JsonProperty(value = "autoUpgradeMinorVersion")
+ private Boolean autoUpgradeMinorVersion;
+
+ /*
+ * ReleaseTrain this extension participates in for auto-upgrade (e.g.
+ * Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.
+ */
+ @JsonProperty(value = "releaseTrain")
+ private String releaseTrain;
+
+ /*
+ * Version of the extension for this extension, if it is 'pinned' to a
+ * specific version. autoUpgradeMinorVersion must be 'false'.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /*
+ * Configuration settings, as name-value pairs for configuring this
+ * extension.
+ */
+ @JsonProperty(value = "configurationSettings")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map configurationSettings;
+
+ /*
+ * Configuration settings that are sensitive, as name-value pairs for
+ * configuring this extension.
+ */
+ @JsonProperty(value = "configurationProtectedSettings")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map configurationProtectedSettings;
+
+ /**
+ * Get the autoUpgradeMinorVersion property: Flag to note if this extension participates in auto upgrade of minor
+ * version, or not.
+ *
+ * @return the autoUpgradeMinorVersion value.
+ */
+ public Boolean autoUpgradeMinorVersion() {
+ return this.autoUpgradeMinorVersion;
+ }
+
+ /**
+ * Set the autoUpgradeMinorVersion property: Flag to note if this extension participates in auto upgrade of minor
+ * version, or not.
+ *
+ * @param autoUpgradeMinorVersion the autoUpgradeMinorVersion value to set.
+ * @return the PatchExtensionProperties object itself.
+ */
+ public PatchExtensionProperties withAutoUpgradeMinorVersion(Boolean autoUpgradeMinorVersion) {
+ this.autoUpgradeMinorVersion = autoUpgradeMinorVersion;
+ return this;
+ }
+
+ /**
+ * Get the releaseTrain property: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable,
+ * Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.
+ *
+ * @return the releaseTrain value.
+ */
+ public String releaseTrain() {
+ return this.releaseTrain;
+ }
+
+ /**
+ * Set the releaseTrain property: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable,
+ * Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.
+ *
+ * @param releaseTrain the releaseTrain value to set.
+ * @return the PatchExtensionProperties object itself.
+ */
+ public PatchExtensionProperties withReleaseTrain(String releaseTrain) {
+ this.releaseTrain = releaseTrain;
+ return this;
+ }
+
+ /**
+ * Get the version property: Version of the extension for this extension, if it is 'pinned' to a specific version.
+ * autoUpgradeMinorVersion must be 'false'.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the version property: Version of the extension for this extension, if it is 'pinned' to a specific version.
+ * autoUpgradeMinorVersion must be 'false'.
+ *
+ * @param version the version value to set.
+ * @return the PatchExtensionProperties object itself.
+ */
+ public PatchExtensionProperties withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get the configurationSettings property: Configuration settings, as name-value pairs for configuring this
+ * extension.
+ *
+ * @return the configurationSettings value.
+ */
+ public Map configurationSettings() {
+ return this.configurationSettings;
+ }
+
+ /**
+ * Set the configurationSettings property: Configuration settings, as name-value pairs for configuring this
+ * extension.
+ *
+ * @param configurationSettings the configurationSettings value to set.
+ * @return the PatchExtensionProperties object itself.
+ */
+ public PatchExtensionProperties withConfigurationSettings(Map configurationSettings) {
+ this.configurationSettings = configurationSettings;
+ return this;
+ }
+
+ /**
+ * Get the configurationProtectedSettings property: Configuration settings that are sensitive, as name-value pairs
+ * for configuring this extension.
+ *
+ * @return the configurationProtectedSettings value.
+ */
+ public Map configurationProtectedSettings() {
+ return this.configurationProtectedSettings;
+ }
+
+ /**
+ * Set the configurationProtectedSettings property: Configuration settings that are sensitive, as name-value pairs
+ * for configuring this extension.
+ *
+ * @param configurationProtectedSettings the configurationProtectedSettings value to set.
+ * @return the PatchExtensionProperties object itself.
+ */
+ public PatchExtensionProperties withConfigurationProtectedSettings(
+ Map configurationProtectedSettings) {
+ this.configurationProtectedSettings = configurationProtectedSettings;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
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
index bf530e97fea4e..53b9ac6ead5d6 100644
--- 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
@@ -33,6 +33,12 @@ public final class ResourceProviderOperationInner {
@JsonProperty(value = "isDataAction", access = JsonProperty.Access.WRITE_ONLY)
private Boolean isDataAction;
+ /*
+ * Origin of the operation
+ */
+ @JsonProperty(value = "origin", access = JsonProperty.Access.WRITE_ONLY)
+ private String origin;
+
/**
* Get the name property: Operation name, in format of {provider}/{resource}/{operation}.
*
@@ -82,6 +88,15 @@ public Boolean isDataAction() {
return this.isDataAction;
}
+ /**
+ * Get the origin property: Origin of the operation.
+ *
+ * @return the origin value.
+ */
+ public String origin() {
+ return this.origin;
+ }
+
/**
* Validates the instance.
*
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
index 78443984e9dc1..e1e3c1797b944 100644
--- 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
@@ -5,7 +5,6 @@
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.management.SystemData;
import com.azure.core.util.logging.ClientLogger;
@@ -19,11 +18,16 @@
import java.util.Map;
/** The SourceControl Configuration object returned in Get & Put response. */
-@JsonFlatten
@Fluent
-public class SourceControlConfigurationInner extends ProxyResource {
+public final class SourceControlConfigurationInner extends ProxyResource {
@JsonIgnore private final ClientLogger logger = new ClientLogger(SourceControlConfigurationInner.class);
+ /*
+ * Properties to create a Source Control Configuration resource
+ */
+ @JsonProperty(value = "properties")
+ private SourceControlConfigurationProperties innerProperties;
+
/*
* 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
@@ -31,87 +35,14 @@ public class SourceControlConfigurationInner extends ProxyResource {
@JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
private SystemData systemData;
- /*
- * 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
+ /**
+ * Get the innerProperties property: Properties to create a Source Control Configuration resource.
+ *
+ * @return the innerProperties value.
*/
- @JsonProperty(value = "properties.complianceStatus", access = JsonProperty.Access.WRITE_ONLY)
- private ComplianceStatus complianceStatus;
+ private SourceControlConfigurationProperties innerProperties() {
+ return this.innerProperties;
+ }
/**
* Get the systemData property: Top level metadata
@@ -129,7 +60,7 @@ public SystemData systemData() {
* @return the repositoryUrl value.
*/
public String repositoryUrl() {
- return this.repositoryUrl;
+ return this.innerProperties() == null ? null : this.innerProperties().repositoryUrl();
}
/**
@@ -139,7 +70,10 @@ public String repositoryUrl() {
* @return the SourceControlConfigurationInner object itself.
*/
public SourceControlConfigurationInner withRepositoryUrl(String repositoryUrl) {
- this.repositoryUrl = repositoryUrl;
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SourceControlConfigurationProperties();
+ }
+ this.innerProperties().withRepositoryUrl(repositoryUrl);
return this;
}
@@ -150,7 +84,7 @@ public SourceControlConfigurationInner withRepositoryUrl(String repositoryUrl) {
* @return the operatorNamespace value.
*/
public String operatorNamespace() {
- return this.operatorNamespace;
+ return this.innerProperties() == null ? null : this.innerProperties().operatorNamespace();
}
/**
@@ -161,7 +95,10 @@ public String operatorNamespace() {
* @return the SourceControlConfigurationInner object itself.
*/
public SourceControlConfigurationInner withOperatorNamespace(String operatorNamespace) {
- this.operatorNamespace = operatorNamespace;
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SourceControlConfigurationProperties();
+ }
+ this.innerProperties().withOperatorNamespace(operatorNamespace);
return this;
}
@@ -171,7 +108,7 @@ public SourceControlConfigurationInner withOperatorNamespace(String operatorName
* @return the operatorInstanceName value.
*/
public String operatorInstanceName() {
- return this.operatorInstanceName;
+ return this.innerProperties() == null ? null : this.innerProperties().operatorInstanceName();
}
/**
@@ -181,7 +118,10 @@ public String operatorInstanceName() {
* @return the SourceControlConfigurationInner object itself.
*/
public SourceControlConfigurationInner withOperatorInstanceName(String operatorInstanceName) {
- this.operatorInstanceName = operatorInstanceName;
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SourceControlConfigurationProperties();
+ }
+ this.innerProperties().withOperatorInstanceName(operatorInstanceName);
return this;
}
@@ -191,7 +131,7 @@ public SourceControlConfigurationInner withOperatorInstanceName(String operatorI
* @return the operatorType value.
*/
public OperatorType operatorType() {
- return this.operatorType;
+ return this.innerProperties() == null ? null : this.innerProperties().operatorType();
}
/**
@@ -201,7 +141,10 @@ public OperatorType operatorType() {
* @return the SourceControlConfigurationInner object itself.
*/
public SourceControlConfigurationInner withOperatorType(OperatorType operatorType) {
- this.operatorType = operatorType;
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SourceControlConfigurationProperties();
+ }
+ this.innerProperties().withOperatorType(operatorType);
return this;
}
@@ -211,7 +154,7 @@ public SourceControlConfigurationInner withOperatorType(OperatorType operatorTyp
* @return the operatorParams value.
*/
public String operatorParams() {
- return this.operatorParams;
+ return this.innerProperties() == null ? null : this.innerProperties().operatorParams();
}
/**
@@ -221,7 +164,10 @@ public String operatorParams() {
* @return the SourceControlConfigurationInner object itself.
*/
public SourceControlConfigurationInner withOperatorParams(String operatorParams) {
- this.operatorParams = operatorParams;
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SourceControlConfigurationProperties();
+ }
+ this.innerProperties().withOperatorParams(operatorParams);
return this;
}
@@ -232,7 +178,7 @@ public SourceControlConfigurationInner withOperatorParams(String operatorParams)
* @return the configurationProtectedSettings value.
*/
public Map configurationProtectedSettings() {
- return this.configurationProtectedSettings;
+ return this.innerProperties() == null ? null : this.innerProperties().configurationProtectedSettings();
}
/**
@@ -244,7 +190,10 @@ public Map configurationProtectedSettings() {
*/
public SourceControlConfigurationInner withConfigurationProtectedSettings(
Map configurationProtectedSettings) {
- this.configurationProtectedSettings = configurationProtectedSettings;
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SourceControlConfigurationProperties();
+ }
+ this.innerProperties().withConfigurationProtectedSettings(configurationProtectedSettings);
return this;
}
@@ -254,7 +203,7 @@ public SourceControlConfigurationInner withConfigurationProtectedSettings(
* @return the operatorScope value.
*/
public OperatorScopeType operatorScope() {
- return this.operatorScope;
+ return this.innerProperties() == null ? null : this.innerProperties().operatorScope();
}
/**
@@ -264,7 +213,10 @@ public OperatorScopeType operatorScope() {
* @return the SourceControlConfigurationInner object itself.
*/
public SourceControlConfigurationInner withOperatorScope(OperatorScopeType operatorScope) {
- this.operatorScope = operatorScope;
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SourceControlConfigurationProperties();
+ }
+ this.innerProperties().withOperatorScope(operatorScope);
return this;
}
@@ -275,7 +227,7 @@ public SourceControlConfigurationInner withOperatorScope(OperatorScopeType opera
* @return the repositoryPublicKey value.
*/
public String repositoryPublicKey() {
- return this.repositoryPublicKey;
+ return this.innerProperties() == null ? null : this.innerProperties().repositoryPublicKey();
}
/**
@@ -285,7 +237,7 @@ public String repositoryPublicKey() {
* @return the sshKnownHostsContents value.
*/
public String sshKnownHostsContents() {
- return this.sshKnownHostsContents;
+ return this.innerProperties() == null ? null : this.innerProperties().sshKnownHostsContents();
}
/**
@@ -296,7 +248,10 @@ public String sshKnownHostsContents() {
* @return the SourceControlConfigurationInner object itself.
*/
public SourceControlConfigurationInner withSshKnownHostsContents(String sshKnownHostsContents) {
- this.sshKnownHostsContents = sshKnownHostsContents;
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SourceControlConfigurationProperties();
+ }
+ this.innerProperties().withSshKnownHostsContents(sshKnownHostsContents);
return this;
}
@@ -306,7 +261,7 @@ public SourceControlConfigurationInner withSshKnownHostsContents(String sshKnown
* @return the enableHelmOperator value.
*/
public Boolean enableHelmOperator() {
- return this.enableHelmOperator;
+ return this.innerProperties() == null ? null : this.innerProperties().enableHelmOperator();
}
/**
@@ -316,7 +271,10 @@ public Boolean enableHelmOperator() {
* @return the SourceControlConfigurationInner object itself.
*/
public SourceControlConfigurationInner withEnableHelmOperator(Boolean enableHelmOperator) {
- this.enableHelmOperator = enableHelmOperator;
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SourceControlConfigurationProperties();
+ }
+ this.innerProperties().withEnableHelmOperator(enableHelmOperator);
return this;
}
@@ -326,7 +284,7 @@ public SourceControlConfigurationInner withEnableHelmOperator(Boolean enableHelm
* @return the helmOperatorProperties value.
*/
public HelmOperatorProperties helmOperatorProperties() {
- return this.helmOperatorProperties;
+ return this.innerProperties() == null ? null : this.innerProperties().helmOperatorProperties();
}
/**
@@ -336,7 +294,10 @@ public HelmOperatorProperties helmOperatorProperties() {
* @return the SourceControlConfigurationInner object itself.
*/
public SourceControlConfigurationInner withHelmOperatorProperties(HelmOperatorProperties helmOperatorProperties) {
- this.helmOperatorProperties = helmOperatorProperties;
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SourceControlConfigurationProperties();
+ }
+ this.innerProperties().withHelmOperatorProperties(helmOperatorProperties);
return this;
}
@@ -346,7 +307,7 @@ public SourceControlConfigurationInner withHelmOperatorProperties(HelmOperatorPr
* @return the provisioningState value.
*/
public ProvisioningStateType provisioningState() {
- return this.provisioningState;
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
}
/**
@@ -355,7 +316,7 @@ public ProvisioningStateType provisioningState() {
* @return the complianceStatus value.
*/
public ComplianceStatus complianceStatus() {
- return this.complianceStatus;
+ return this.innerProperties() == null ? null : this.innerProperties().complianceStatus();
}
/**
@@ -364,11 +325,8 @@ public ComplianceStatus complianceStatus() {
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
- if (helmOperatorProperties() != null) {
- helmOperatorProperties().validate();
- }
- if (complianceStatus() != null) {
- complianceStatus().validate();
+ if (innerProperties() != null) {
+ innerProperties().validate();
}
}
}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/SourceControlConfigurationProperties.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/SourceControlConfigurationProperties.java
new file mode 100644
index 0000000000000..1e0b81328a00e
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/fluent/models/SourceControlConfigurationProperties.java
@@ -0,0 +1,356 @@
+// 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.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.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Properties to create a Source Control Configuration resource. */
+@Fluent
+public final class SourceControlConfigurationProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SourceControlConfigurationProperties.class);
+
+ /*
+ * Url of the SourceControl Repository.
+ */
+ @JsonProperty(value = "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 = "operatorNamespace")
+ private String operatorNamespace;
+
+ /*
+ * Instance name of the operator - identifying the specific configuration.
+ */
+ @JsonProperty(value = "operatorInstanceName")
+ private String operatorInstanceName;
+
+ /*
+ * Type of the operator
+ */
+ @JsonProperty(value = "operatorType")
+ private OperatorType operatorType;
+
+ /*
+ * Any Parameters for the Operator instance in string format.
+ */
+ @JsonProperty(value = "operatorParams")
+ private String operatorParams;
+
+ /*
+ * Name-value pairs of protected configuration settings for the
+ * configuration
+ */
+ @JsonProperty(value = "configurationProtectedSettings")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map configurationProtectedSettings;
+
+ /*
+ * Scope at which the operator will be installed.
+ */
+ @JsonProperty(value = "operatorScope")
+ private OperatorScopeType operatorScope;
+
+ /*
+ * Public Key associated with this SourceControl configuration (either
+ * generated within the cluster or provided by the user).
+ */
+ @JsonProperty(value = "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 = "sshKnownHostsContents")
+ private String sshKnownHostsContents;
+
+ /*
+ * Option to enable Helm Operator for this git configuration.
+ */
+ @JsonProperty(value = "enableHelmOperator")
+ private Boolean enableHelmOperator;
+
+ /*
+ * Properties for Helm operator.
+ */
+ @JsonProperty(value = "helmOperatorProperties")
+ private HelmOperatorProperties helmOperatorProperties;
+
+ /*
+ * The provisioning state of the resource provider.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningStateType provisioningState;
+
+ /*
+ * Compliance Status of the Configuration
+ */
+ @JsonProperty(value = "complianceStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private ComplianceStatus complianceStatus;
+
+ /**
+ * 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 SourceControlConfigurationProperties object itself.
+ */
+ public SourceControlConfigurationProperties 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 SourceControlConfigurationProperties object itself.
+ */
+ public SourceControlConfigurationProperties 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 SourceControlConfigurationProperties object itself.
+ */
+ public SourceControlConfigurationProperties 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 SourceControlConfigurationProperties object itself.
+ */
+ public SourceControlConfigurationProperties 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 SourceControlConfigurationProperties object itself.
+ */
+ public SourceControlConfigurationProperties 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 SourceControlConfigurationProperties object itself.
+ */
+ public SourceControlConfigurationProperties 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 SourceControlConfigurationProperties object itself.
+ */
+ public SourceControlConfigurationProperties 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 SourceControlConfigurationProperties object itself.
+ */
+ public SourceControlConfigurationProperties 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 SourceControlConfigurationProperties object itself.
+ */
+ public SourceControlConfigurationProperties 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 SourceControlConfigurationProperties object itself.
+ */
+ public SourceControlConfigurationProperties 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;
+ }
+
+ /**
+ * 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();
+ }
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesClientImpl.java
new file mode 100644
index 0000000000000..537f2af105d29
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesClientImpl.java
@@ -0,0 +1,307 @@
+// 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.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.ClusterExtensionTypesClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in ClusterExtensionTypesClient. */
+public final class ClusterExtensionTypesClientImpl implements ClusterExtensionTypesClient {
+ private final ClientLogger logger = new ClientLogger(ClusterExtensionTypesClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final ClusterExtensionTypesService service;
+
+ /** The service client containing this operation class. */
+ private final SourceControlConfigurationClientImpl client;
+
+ /**
+ * Initializes an instance of ClusterExtensionTypesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ClusterExtensionTypesClientImpl(SourceControlConfigurationClientImpl client) {
+ this.service =
+ RestProxy
+ .create(ClusterExtensionTypesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for SourceControlConfigurationClientClusterExtensionTypes to be used by
+ * the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "SourceControlConfigu")
+ private interface ClusterExtensionTypesService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes"
+ + "/{extensionTypeName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("extensionTypeName") String extensionTypeName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Get Extension Type details.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionTypeName Extension type name.
+ * @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 extension Type details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionTypeName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (extensionTypeName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter extensionTypeName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ this.client.getApiVersion(),
+ extensionTypeName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get Extension Type details.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionTypeName Extension type name.
+ * @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 extension Type details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionTypeName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (extensionTypeName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter extensionTypeName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ this.client.getApiVersion(),
+ extensionTypeName,
+ accept,
+ context);
+ }
+
+ /**
+ * Get Extension Type details.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionTypeName Extension type name.
+ * @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 extension Type details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionTypeName) {
+ return getWithResponseAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionTypeName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Get Extension Type details.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionTypeName Extension type name.
+ * @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 extension Type details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExtensionTypeInner get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionTypeName) {
+ return getAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionTypeName).block();
+ }
+
+ /**
+ * Get Extension Type details.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionTypeName Extension type name.
+ * @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 extension Type details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionTypeName,
+ Context context) {
+ return getWithResponseAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionTypeName, context)
+ .block();
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesImpl.java
new file mode 100644
index 0000000000000..39255a960e046
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesImpl.java
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.ClusterExtensionTypesClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypes;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class ClusterExtensionTypesImpl implements ClusterExtensionTypes {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ClusterExtensionTypesImpl.class);
+
+ private final ClusterExtensionTypesClient innerClient;
+
+ private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager;
+
+ public ClusterExtensionTypesImpl(
+ ClusterExtensionTypesClient innerClient,
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public ExtensionType get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionTypeName) {
+ ExtensionTypeInner inner =
+ this.serviceClient().get(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionTypeName);
+ if (inner != null) {
+ return new ExtensionTypeImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionTypeName,
+ Context context) {
+ Response inner =
+ this
+ .serviceClient()
+ .getWithResponse(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionTypeName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new ExtensionTypeImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ private ClusterExtensionTypesClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesOperationsClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesOperationsClientImpl.java
new file mode 100644
index 0000000000000..8941898735b92
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesOperationsClientImpl.java
@@ -0,0 +1,411 @@
+// 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.ClusterExtensionTypesOperationsClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionTypeList;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in ClusterExtensionTypesOperationsClient. */
+public final class ClusterExtensionTypesOperationsClientImpl implements ClusterExtensionTypesOperationsClient {
+ private final ClientLogger logger = new ClientLogger(ClusterExtensionTypesOperationsClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final ClusterExtensionTypesOperationsService service;
+
+ /** The service client containing this operation class. */
+ private final SourceControlConfigurationClientImpl client;
+
+ /**
+ * Initializes an instance of ClusterExtensionTypesOperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ClusterExtensionTypesOperationsClientImpl(SourceControlConfigurationClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ ClusterExtensionTypesOperationsService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for SourceControlConfigurationClientClusterExtensionTypesOperations to be
+ * used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "SourceControlConfigu")
+ private interface ClusterExtensionTypesOperationsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @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);
+ }
+
+ /**
+ * Get Extension Types.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get Extension Types.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get Extension Types.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName),
+ nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Get Extension Types.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, context),
+ nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Get Extension Types.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName) {
+ return new PagedIterable<>(listAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName));
+ }
+
+ /**
+ * Get Extension Types.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context) {
+ return new PagedIterable<>(listAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, 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 list Extension Types.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list Extension Types.
+ */
+ @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/ClusterExtensionTypesOperationsImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesOperationsImpl.java
new file mode 100644
index 0000000000000..989129fb02158
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ClusterExtensionTypesOperationsImpl.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.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.fluent.ClusterExtensionTypesOperationsClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypesOperations;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class ClusterExtensionTypesOperationsImpl implements ClusterExtensionTypesOperations {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ClusterExtensionTypesOperationsImpl.class);
+
+ private final ClusterExtensionTypesOperationsClient innerClient;
+
+ private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager;
+
+ public ClusterExtensionTypesOperationsImpl(
+ ClusterExtensionTypesOperationsClient innerClient,
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName) {
+ PagedIterable inner =
+ this.serviceClient().list(resourceGroupName, clusterRp, clusterResourceName, clusterName);
+ return Utils.mapPage(inner, inner1 -> new ExtensionTypeImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context) {
+ PagedIterable inner =
+ this.serviceClient().list(resourceGroupName, clusterRp, clusterResourceName, clusterName, context);
+ return Utils.mapPage(inner, inner1 -> new ExtensionTypeImpl(inner1, this.manager()));
+ }
+
+ private ClusterExtensionTypesOperationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionImpl.java
new file mode 100644
index 0000000000000..c5cfa7f5e1079
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionImpl.java
@@ -0,0 +1,131 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Extension;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionPropertiesAksAssignedIdentity;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionStatus;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Identity;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ProvisioningState;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Scope;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+public final class ExtensionImpl implements Extension {
+ private ExtensionInner innerObject;
+
+ private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager;
+
+ ExtensionImpl(
+ ExtensionInner innerObject,
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public Identity identity() {
+ return this.innerModel().identity();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public String extensionType() {
+ return this.innerModel().extensionType();
+ }
+
+ public Boolean autoUpgradeMinorVersion() {
+ return this.innerModel().autoUpgradeMinorVersion();
+ }
+
+ public String releaseTrain() {
+ return this.innerModel().releaseTrain();
+ }
+
+ public String version() {
+ return this.innerModel().version();
+ }
+
+ public Scope scope() {
+ return this.innerModel().scope();
+ }
+
+ public Map configurationSettings() {
+ Map inner = this.innerModel().configurationSettings();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public Map configurationProtectedSettings() {
+ Map inner = this.innerModel().configurationProtectedSettings();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public ProvisioningState provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public List statuses() {
+ List inner = this.innerModel().statuses();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public ManagementError errorInfo() {
+ return this.innerModel().errorInfo();
+ }
+
+ public Map customLocationSettings() {
+ Map inner = this.innerModel().customLocationSettings();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public String packageUri() {
+ return this.innerModel().packageUri();
+ }
+
+ public ExtensionPropertiesAksAssignedIdentity aksAssignedIdentity() {
+ return this.innerModel().aksAssignedIdentity();
+ }
+
+ public ExtensionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionTypeImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionTypeImpl.java
new file mode 100644
index 0000000000000..15c20fd1ca748
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionTypeImpl.java
@@ -0,0 +1,55 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.kubernetesconfiguration.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterTypes;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionType;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SupportedScopes;
+import java.util.Collections;
+import java.util.List;
+
+public final class ExtensionTypeImpl implements ExtensionType {
+ private ExtensionTypeInner innerObject;
+
+ private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager;
+
+ ExtensionTypeImpl(
+ ExtensionTypeInner innerObject,
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public List releaseTrains() {
+ List inner = this.innerModel().releaseTrains();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public ClusterTypes clusterTypes() {
+ return this.innerModel().clusterTypes();
+ }
+
+ public SupportedScopes supportedScopes() {
+ return this.innerModel().supportedScopes();
+ }
+
+ public ExtensionTypeInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionTypeVersionsClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionTypeVersionsClientImpl.java
new file mode 100644
index 0000000000000..cb36ffe4e2b2d
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionTypeVersionsClientImpl.java
@@ -0,0 +1,339 @@
+// 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.ExtensionTypeVersionsClient;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionVersionList;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionVersionListVersionsItem;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in ExtensionTypeVersionsClient. */
+public final class ExtensionTypeVersionsClientImpl implements ExtensionTypeVersionsClient {
+ private final ClientLogger logger = new ClientLogger(ExtensionTypeVersionsClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final ExtensionTypeVersionsService service;
+
+ /** The service client containing this operation class. */
+ private final SourceControlConfigurationClientImpl client;
+
+ /**
+ * Initializes an instance of ExtensionTypeVersionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ExtensionTypeVersionsClientImpl(SourceControlConfigurationClientImpl client) {
+ this.service =
+ RestProxy
+ .create(ExtensionTypeVersionsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for SourceControlConfigurationClientExtensionTypeVersions to be used by
+ * the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "SourceControlConfigu")
+ private interface ExtensionTypeVersionsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}"
+ + "/extensionTypes/{extensionTypeName}/versions")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location,
+ @PathParam("extensionTypeName") String extensionTypeName,
+ @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 available versions for an Extension Type.
+ *
+ * @param location extension location.
+ * @param extensionTypeName Extension type name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list versions for an Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String location, String extensionTypeName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ if (extensionTypeName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter extensionTypeName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ location,
+ extensionTypeName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().versions(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List available versions for an Extension Type.
+ *
+ * @param location extension location.
+ * @param extensionTypeName Extension type name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list versions for an Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String location, String extensionTypeName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ if (extensionTypeName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter extensionTypeName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ location,
+ extensionTypeName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().versions(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * List available versions for an Extension Type.
+ *
+ * @param location extension location.
+ * @param extensionTypeName Extension type name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list versions for an Extension.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String location, String extensionTypeName) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(location, extensionTypeName), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List available versions for an Extension Type.
+ *
+ * @param location extension location.
+ * @param extensionTypeName Extension type name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list versions for an Extension.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String location, String extensionTypeName, Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(location, extensionTypeName, context),
+ nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List available versions for an Extension Type.
+ *
+ * @param location extension location.
+ * @param extensionTypeName Extension type name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list versions for an Extension.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String location, String extensionTypeName) {
+ return new PagedIterable<>(listAsync(location, extensionTypeName));
+ }
+
+ /**
+ * List available versions for an Extension Type.
+ *
+ * @param location extension location.
+ * @param extensionTypeName Extension type name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list versions for an Extension.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String location, String extensionTypeName, Context context) {
+ return new PagedIterable<>(listAsync(location, extensionTypeName, 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 list versions for an Extension.
+ */
+ @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().versions(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * 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 list versions for an Extension.
+ */
+ @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().versions(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionTypeVersionsImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionTypeVersionsImpl.java
new file mode 100644
index 0000000000000..d8b7f935d23b5
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionTypeVersionsImpl.java
@@ -0,0 +1,45 @@
+// 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.fluent.ExtensionTypeVersionsClient;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionTypeVersions;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionVersionListVersionsItem;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class ExtensionTypeVersionsImpl implements ExtensionTypeVersions {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionTypeVersionsImpl.class);
+
+ private final ExtensionTypeVersionsClient innerClient;
+
+ private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager;
+
+ public ExtensionTypeVersionsImpl(
+ ExtensionTypeVersionsClient innerClient,
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list(String location, String extensionTypeName) {
+ return this.serviceClient().list(location, extensionTypeName);
+ }
+
+ public PagedIterable list(
+ String location, String extensionTypeName, Context context) {
+ return this.serviceClient().list(location, extensionTypeName, context);
+ }
+
+ private ExtensionTypeVersionsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionsClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionsClientImpl.java
new file mode 100644
index 0000000000000..a7b5ec41e2cb4
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionsClientImpl.java
@@ -0,0 +1,1976 @@
+// 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.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.ExtensionsClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionsList;
+import com.azure.resourcemanager.kubernetesconfiguration.models.PatchExtension;
+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 ExtensionsClient. */
+public final class ExtensionsClientImpl implements ExtensionsClient {
+ private final ClientLogger logger = new ClientLogger(ExtensionsClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final ExtensionsService service;
+
+ /** The service client containing this operation class. */
+ private final SourceControlConfigurationClientImpl client;
+
+ /**
+ * Initializes an instance of ExtensionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ExtensionsClientImpl(SourceControlConfigurationClientImpl client) {
+ this.service =
+ RestProxy.create(ExtensionsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for SourceControlConfigurationClientExtensions to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "SourceControlConfigu")
+ private interface ExtensionsService {
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions"
+ + "/{extensionName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @PathParam("extensionName") String extensionName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") ExtensionInner extension,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions"
+ + "/{extensionName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @PathParam("extensionName") String extensionName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions"
+ + "/{extensionName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @PathParam("extensionName") String extensionName,
+ @QueryParam("api-version") String apiVersion,
+ @QueryParam("forceDelete") Boolean forceDelete,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions"
+ + "/{extensionName}")
+ @ExpectedResponses({202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @PathParam("extensionName") String extensionName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") PatchExtension patchExtension,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @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);
+ }
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (extensionName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionName is required and cannot be null."));
+ }
+ if (extension == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extension is required and cannot be null."));
+ } else {
+ extension.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ extensionName,
+ this.client.getApiVersion(),
+ extension,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (extensionName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionName is required and cannot be null."));
+ }
+ if (extension == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extension is required and cannot be null."));
+ } else {
+ extension.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ extensionName,
+ this.client.getApiVersion(),
+ extension,
+ accept,
+ context);
+ }
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ExtensionInner> beginCreateAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension) {
+ Mono>> mono =
+ createWithResponseAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, extension);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), ExtensionInner.class, ExtensionInner.class, Context.NONE);
+ }
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ExtensionInner> beginCreateAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ createWithResponseAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, extension, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), ExtensionInner.class, ExtensionInner.class, context);
+ }
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ExtensionInner> beginCreate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension) {
+ return beginCreateAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, extension)
+ .getSyncPoller();
+ }
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ExtensionInner> beginCreate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension,
+ Context context) {
+ return beginCreateAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, extension, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension) {
+ return beginCreateAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, extension)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension,
+ Context context) {
+ return beginCreateAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, extension, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExtensionInner create(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension) {
+ return createAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, extension)
+ .block();
+ }
+
+ /**
+ * Create a new Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param extension Properties necessary to Create an Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExtensionInner create(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension,
+ Context context) {
+ return createAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, extension, context)
+ .block();
+ }
+
+ /**
+ * Gets Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @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 kubernetes Cluster Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (extensionName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ extensionName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @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 kubernetes Cluster Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (extensionName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ extensionName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @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 kubernetes Cluster Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName) {
+ return getWithResponseAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Gets Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @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 kubernetes Cluster Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExtensionInner get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName) {
+ return getAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName).block();
+ }
+
+ /**
+ * Gets Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @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 kubernetes Cluster Extension.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Context context) {
+ return getWithResponseAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, context)
+ .block();
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (extensionName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ extensionName,
+ this.client.getApiVersion(),
+ forceDelete,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (extensionName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ extensionName,
+ this.client.getApiVersion(),
+ forceDelete,
+ accept,
+ context);
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete) {
+ Mono>> mono =
+ deleteWithResponseAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ deleteWithResponseAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete, context);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, context);
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete) {
+ return beginDeleteAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete)
+ .getSyncPoller();
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete,
+ Context context) {
+ return beginDeleteAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete) {
+ return beginDeleteAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName) {
+ final Boolean forceDelete = null;
+ return beginDeleteAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete,
+ Context context) {
+ return beginDeleteAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @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,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete) {
+ deleteAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete).block();
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @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,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName) {
+ final Boolean forceDelete = null;
+ deleteAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete).block();
+ }
+
+ /**
+ * Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param forceDelete Delete the extension resource in Azure - not the normal asynchronous delete.
+ * @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,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete,
+ Context context) {
+ deleteAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete, context)
+ .block();
+ }
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (extensionName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionName is required and cannot be null."));
+ }
+ if (patchExtension == null) {
+ return Mono.error(new IllegalArgumentException("Parameter patchExtension is required and cannot be null."));
+ } else {
+ patchExtension.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .update(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ extensionName,
+ this.client.getApiVersion(),
+ patchExtension,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (extensionName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter extensionName is required and cannot be null."));
+ }
+ if (patchExtension == null) {
+ return Mono.error(new IllegalArgumentException("Parameter patchExtension is required and cannot be null."));
+ } else {
+ patchExtension.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .update(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ extensionName,
+ this.client.getApiVersion(),
+ patchExtension,
+ accept,
+ context);
+ }
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ExtensionInner> beginUpdateAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension) {
+ Mono>> mono =
+ updateWithResponseAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, patchExtension);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), ExtensionInner.class, ExtensionInner.class, Context.NONE);
+ }
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ExtensionInner> beginUpdateAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ updateWithResponseAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, patchExtension, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), ExtensionInner.class, ExtensionInner.class, context);
+ }
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ExtensionInner> beginUpdate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension) {
+ return beginUpdateAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, patchExtension)
+ .getSyncPoller();
+ }
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ExtensionInner> beginUpdate(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension,
+ Context context) {
+ return beginUpdateAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, patchExtension, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension) {
+ return beginUpdateAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, patchExtension)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension,
+ Context context) {
+ return beginUpdateAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, patchExtension, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExtensionInner update(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension) {
+ return updateAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, patchExtension)
+ .block();
+ }
+
+ /**
+ * Patch an existing Kubernetes Cluster Extension.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 extensionName Name of the Extension.
+ * @param patchExtension Properties to Patch in an existing Extension.
+ * @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 Extension object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ExtensionInner update(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension,
+ Context context) {
+ return updateAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, patchExtension, context)
+ .block();
+ }
+
+ /**
+ * List all Extensions in the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 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 Extensions.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List all Extensions in the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 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 Extensions.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * List all Extensions in the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 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 Extensions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName),
+ nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List all Extensions in the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 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 Extensions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, context),
+ nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List all Extensions in the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 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 Extensions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName) {
+ return new PagedIterable<>(listAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName));
+ }
+
+ /**
+ * List all Extensions in the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 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 Extensions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context) {
+ return new PagedIterable<>(listAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, 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 Extensions.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The 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 Extensions.
+ */
+ @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/ExtensionsImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionsImpl.java
new file mode 100644
index 0000000000000..be4691ea37a46
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ExtensionsImpl.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.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.kubernetesconfiguration.fluent.ExtensionsClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Extension;
+import com.azure.resourcemanager.kubernetesconfiguration.models.Extensions;
+import com.azure.resourcemanager.kubernetesconfiguration.models.PatchExtension;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class ExtensionsImpl implements Extensions {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionsImpl.class);
+
+ private final ExtensionsClient innerClient;
+
+ private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager;
+
+ public ExtensionsImpl(
+ ExtensionsClient innerClient,
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Extension create(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension) {
+ ExtensionInner inner =
+ this
+ .serviceClient()
+ .create(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, extension);
+ if (inner != null) {
+ return new ExtensionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Extension create(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ ExtensionInner extension,
+ Context context) {
+ ExtensionInner inner =
+ this
+ .serviceClient()
+ .create(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, extension, context);
+ if (inner != null) {
+ return new ExtensionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Extension get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName) {
+ ExtensionInner inner =
+ this.serviceClient().get(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName);
+ if (inner != null) {
+ return new ExtensionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Context context) {
+ Response inner =
+ this
+ .serviceClient()
+ .getWithResponse(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new ExtensionImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public void delete(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete) {
+ this
+ .serviceClient()
+ .delete(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete);
+ }
+
+ public void delete(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName) {
+ this.serviceClient().delete(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName);
+ }
+
+ public void delete(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ Boolean forceDelete,
+ Context context) {
+ this
+ .serviceClient()
+ .delete(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, forceDelete, context);
+ }
+
+ public Extension update(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension) {
+ ExtensionInner inner =
+ this
+ .serviceClient()
+ .update(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, patchExtension);
+ if (inner != null) {
+ return new ExtensionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Extension update(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String extensionName,
+ PatchExtension patchExtension,
+ Context context) {
+ ExtensionInner inner =
+ this
+ .serviceClient()
+ .update(
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ extensionName,
+ patchExtension,
+ context);
+ if (inner != null) {
+ return new ExtensionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName) {
+ PagedIterable inner =
+ this.serviceClient().list(resourceGroupName, clusterRp, clusterResourceName, clusterName);
+ return Utils.mapPage(inner, inner1 -> new ExtensionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ Context context) {
+ PagedIterable inner =
+ this.serviceClient().list(resourceGroupName, clusterRp, clusterResourceName, clusterName, context);
+ return Utils.mapPage(inner, inner1 -> new ExtensionImpl(inner1, this.manager()));
+ }
+
+ private ExtensionsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigOperationStatusClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigOperationStatusClientImpl.java
new file mode 100644
index 0000000000000..f9098ad239039
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigOperationStatusClientImpl.java
@@ -0,0 +1,336 @@
+// 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.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.FluxConfigOperationStatusClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.OperationStatusResultInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in FluxConfigOperationStatusClient. */
+public final class FluxConfigOperationStatusClientImpl implements FluxConfigOperationStatusClient {
+ private final ClientLogger logger = new ClientLogger(FluxConfigOperationStatusClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final FluxConfigOperationStatusService service;
+
+ /** The service client containing this operation class. */
+ private final SourceControlConfigurationClientImpl client;
+
+ /**
+ * Initializes an instance of FluxConfigOperationStatusClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ FluxConfigOperationStatusClientImpl(SourceControlConfigurationClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ FluxConfigOperationStatusService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for SourceControlConfigurationClientFluxConfigOperationStatus to be used
+ * by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "SourceControlConfigu")
+ private interface FluxConfigOperationStatusService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations"
+ + "/{fluxConfigurationName}/operations/{operationId}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @PathParam("fluxConfigurationName") String fluxConfigurationName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("operationId") String operationId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Get Async Operation status.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param operationId operation Id.
+ * @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 async Operation status.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ String operationId) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (fluxConfigurationName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter fluxConfigurationName is required and cannot be null."));
+ }
+ if (operationId == null) {
+ return Mono.error(new IllegalArgumentException("Parameter operationId is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ fluxConfigurationName,
+ this.client.getApiVersion(),
+ operationId,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get Async Operation status.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param operationId operation 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 async Operation status.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ String operationId,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (fluxConfigurationName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter fluxConfigurationName is required and cannot be null."));
+ }
+ if (operationId == null) {
+ return Mono.error(new IllegalArgumentException("Parameter operationId is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ fluxConfigurationName,
+ this.client.getApiVersion(),
+ operationId,
+ accept,
+ context);
+ }
+
+ /**
+ * Get Async Operation status.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param operationId operation Id.
+ * @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 async Operation status.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ String operationId) {
+ return getWithResponseAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, operationId)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Get Async Operation status.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param operationId operation Id.
+ * @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 async Operation status.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public OperationStatusResultInner get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ String operationId) {
+ return getAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, operationId)
+ .block();
+ }
+
+ /**
+ * Get Async Operation status.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @param operationId operation 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 async Operation status.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ String operationId,
+ Context context) {
+ return getWithResponseAsync(
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ fluxConfigurationName,
+ operationId,
+ context)
+ .block();
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigOperationStatusImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigOperationStatusImpl.java
new file mode 100644
index 0000000000000..5d6b7fcdd0521
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigOperationStatusImpl.java
@@ -0,0 +1,89 @@
+// 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.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.kubernetesconfiguration.fluent.FluxConfigOperationStatusClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.OperationStatusResultInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxConfigOperationStatus;
+import com.azure.resourcemanager.kubernetesconfiguration.models.OperationStatusResult;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class FluxConfigOperationStatusImpl implements FluxConfigOperationStatus {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(FluxConfigOperationStatusImpl.class);
+
+ private final FluxConfigOperationStatusClient innerClient;
+
+ private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager;
+
+ public FluxConfigOperationStatusImpl(
+ FluxConfigOperationStatusClient innerClient,
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public OperationStatusResult get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ String operationId) {
+ OperationStatusResultInner inner =
+ this
+ .serviceClient()
+ .get(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, operationId);
+ if (inner != null) {
+ return new OperationStatusResultImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getWithResponse(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ String operationId,
+ Context context) {
+ Response inner =
+ this
+ .serviceClient()
+ .getWithResponse(
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ fluxConfigurationName,
+ operationId,
+ context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new OperationStatusResultImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ private FluxConfigOperationStatusClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigurationImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigurationImpl.java
new file mode 100644
index 0000000000000..758634d4057bd
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigurationImpl.java
@@ -0,0 +1,133 @@
+// 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.management.SystemData;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.FluxConfigurationInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.BucketDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxComplianceState;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxConfiguration;
+import com.azure.resourcemanager.kubernetesconfiguration.models.GitRepositoryDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.KustomizationDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ObjectStatusDefinition;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ProvisioningState;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ScopeType;
+import com.azure.resourcemanager.kubernetesconfiguration.models.SourceKindType;
+import java.time.OffsetDateTime;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+public final class FluxConfigurationImpl implements FluxConfiguration {
+ private FluxConfigurationInner innerObject;
+
+ private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager;
+
+ FluxConfigurationImpl(
+ FluxConfigurationInner innerObject,
+ com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public ScopeType scope() {
+ return this.innerModel().scope();
+ }
+
+ public String namespace() {
+ return this.innerModel().namespace();
+ }
+
+ public SourceKindType sourceKind() {
+ return this.innerModel().sourceKind();
+ }
+
+ public Boolean suspend() {
+ return this.innerModel().suspend();
+ }
+
+ public GitRepositoryDefinition gitRepository() {
+ return this.innerModel().gitRepository();
+ }
+
+ public BucketDefinition bucket() {
+ return this.innerModel().bucket();
+ }
+
+ public Map kustomizations() {
+ Map inner = this.innerModel().kustomizations();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public Map configurationProtectedSettings() {
+ Map inner = this.innerModel().configurationProtectedSettings();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public List statuses() {
+ List inner = this.innerModel().statuses();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public String repositoryPublicKey() {
+ return this.innerModel().repositoryPublicKey();
+ }
+
+ public String lastSourceSyncedCommitId() {
+ return this.innerModel().lastSourceSyncedCommitId();
+ }
+
+ public OffsetDateTime lastSourceSyncedAt() {
+ return this.innerModel().lastSourceSyncedAt();
+ }
+
+ public FluxComplianceState complianceState() {
+ return this.innerModel().complianceState();
+ }
+
+ public ProvisioningState provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public String errorMessage() {
+ return this.innerModel().errorMessage();
+ }
+
+ public FluxConfigurationInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigurationsClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigurationsClientImpl.java
new file mode 100644
index 0000000000000..bbac0672bf6a0
--- /dev/null
+++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigurationsClientImpl.java
@@ -0,0 +1,2135 @@
+// 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.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.FluxConfigurationsClient;
+import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.FluxConfigurationInner;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterResourceName;
+import com.azure.resourcemanager.kubernetesconfiguration.models.ClusterExtensionTypeClusterRp;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxConfigurationPatch;
+import com.azure.resourcemanager.kubernetesconfiguration.models.FluxConfigurationsList;
+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 FluxConfigurationsClient. */
+public final class FluxConfigurationsClientImpl implements FluxConfigurationsClient {
+ private final ClientLogger logger = new ClientLogger(FluxConfigurationsClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final FluxConfigurationsService service;
+
+ /** The service client containing this operation class. */
+ private final SourceControlConfigurationClientImpl client;
+
+ /**
+ * Initializes an instance of FluxConfigurationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ FluxConfigurationsClientImpl(SourceControlConfigurationClientImpl client) {
+ this.service =
+ RestProxy.create(FluxConfigurationsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for SourceControlConfigurationClientFluxConfigurations to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "SourceControlConfigu")
+ private interface FluxConfigurationsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations"
+ + "/{fluxConfigurationName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @PathParam("fluxConfigurationName") String fluxConfigurationName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations"
+ + "/{fluxConfigurationName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @PathParam("fluxConfigurationName") String fluxConfigurationName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") FluxConfigurationInner fluxConfiguration,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations"
+ + "/{fluxConfigurationName}")
+ @ExpectedResponses({202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @PathParam("fluxConfigurationName") String fluxConfigurationName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") FluxConfigurationPatch fluxConfigurationPatch,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations"
+ + "/{fluxConfigurationName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @PathParam("fluxConfigurationName") String fluxConfigurationName,
+ @QueryParam("api-version") String apiVersion,
+ @QueryParam("forceDelete") Boolean forceDelete,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}"
+ + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp,
+ @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName,
+ @PathParam("clusterName") String clusterName,
+ @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);
+ }
+
+ /**
+ * Gets details of the Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @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 details of the Flux Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (fluxConfigurationName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter fluxConfigurationName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ fluxConfigurationName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets details of the Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @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 details of the Flux Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (clusterRp == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterRp is required and cannot be null."));
+ }
+ if (clusterResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter clusterResourceName is required and cannot be null."));
+ }
+ if (clusterName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter clusterName is required and cannot be null."));
+ }
+ if (fluxConfigurationName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter fluxConfigurationName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ clusterRp,
+ clusterResourceName,
+ clusterName,
+ fluxConfigurationName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets details of the Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @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 details of the Flux Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName) {
+ return getWithResponseAsync(
+ resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Gets details of the Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @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 details of the Flux Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public FluxConfigurationInner get(
+ String resourceGroupName,
+ ClusterExtensionTypeClusterRp clusterRp,
+ ClusterExtensionTypeClusterResourceName clusterResourceName,
+ String clusterName,
+ String fluxConfigurationName) {
+ return getAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName).block();
+ }
+
+ /**
+ * Gets details of the Flux Configuration.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 fluxConfigurationName Name of the Flux Configuration.
+ * @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 details of the Flux Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response