diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/CHANGELOG.md b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/CHANGELOG.md index a599704b0e40c..2b2f248561c20 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-19) +- 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..70234e755d640 --- /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( + "rg1", + ClusterExtensionTypeClusterRp.MICROSOFT_CONTAINER_SERVICE, + ClusterExtensionTypeClusterResourceName.MANAGED_CLUSTERS, + "clusterName1", + "microsoft.example", + 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( + "rg1", + ClusterExtensionTypeClusterRp.MICROSOFT_CONTAINER_SERVICE, + ClusterExtensionTypeClusterResourceName.MANAGED_CLUSTERS, + "clusterName1", + 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("eastus", "microsoft.example", 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("eastus", 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 93e9264396dde..202e9f5862eb5 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.22.0 - - - com.azure - azure-core-management - 1.4.3 - - - - - - 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.22.0 + + + com.azure + azure-core-management + 1.4.3 + + + + + + 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..537307700f54c --- /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 lastSourceUpdatedCommitId property: Branch and SHA of the last source commit synced with the cluster. + * + * @return the lastSourceUpdatedCommitId value. + */ + public String lastSourceUpdatedCommitId() { + return this.innerProperties() == null ? null : this.innerProperties().lastSourceUpdatedCommitId(); + } + + /** + * Get the lastSourceUpdatedAt property: Datetime the fluxConfiguration last synced its source on the cluster. + * + * @return the lastSourceUpdatedAt value. + */ + public OffsetDateTime lastSourceUpdatedAt() { + return this.innerProperties() == null ? null : this.innerProperties().lastSourceUpdatedAt(); + } + + /** + * 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..0dfe207ee493c --- /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 = "lastSourceUpdatedCommitId", access = JsonProperty.Access.WRITE_ONLY) + private String lastSourceUpdatedCommitId; + + /* + * Datetime the fluxConfiguration last synced its source on the cluster. + */ + @JsonProperty(value = "lastSourceUpdatedAt", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime lastSourceUpdatedAt; + + /* + * 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 lastSourceUpdatedCommitId property: Branch and SHA of the last source commit synced with the cluster. + * + * @return the lastSourceUpdatedCommitId value. + */ + public String lastSourceUpdatedCommitId() { + return this.lastSourceUpdatedCommitId; + } + + /** + * Get the lastSourceUpdatedAt property: Datetime the fluxConfiguration last synced its source on the cluster. + * + * @return the lastSourceUpdatedAt value. + */ + public OffsetDateTime lastSourceUpdatedAt() { + return this.lastSourceUpdatedAt; + } + + /** + * 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..146988519bf53 --- /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 lastSourceUpdatedCommitId() { + return this.innerModel().lastSourceUpdatedCommitId(); + } + + public OffsetDateTime lastSourceUpdatedAt() { + return this.innerModel().lastSourceUpdatedAt(); + } + + 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 getWithResponse( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + Context context) { + return getWithResponseAsync( + resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, context) + .block(); + } + + /** + * 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 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) + private Mono>> createOrUpdateWithResponseAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration) { + 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 (fluxConfiguration == null) { + return Mono + .error(new IllegalArgumentException("Parameter fluxConfiguration is required and cannot be null.")); + } else { + fluxConfiguration.validate(); + } + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .createOrUpdate( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + this.client.getApiVersion(), + fluxConfiguration, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * 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 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) + private Mono>> createOrUpdateWithResponseAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration, + 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 (fluxConfiguration == null) { + return Mono + .error(new IllegalArgumentException("Parameter fluxConfiguration is required and cannot be null.")); + } else { + fluxConfiguration.validate(); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .createOrUpdate( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + this.client.getApiVersion(), + fluxConfiguration, + accept, + 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 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) + private PollerFlux, FluxConfigurationInner> beginCreateOrUpdateAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration) { + Mono>> mono = + createOrUpdateWithResponseAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfiguration); + return this + .client + .getLroResult( + mono, + this.client.getHttpPipeline(), + FluxConfigurationInner.class, + FluxConfigurationInner.class, + Context.NONE); + } + + /** + * 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 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) + private PollerFlux, FluxConfigurationInner> beginCreateOrUpdateAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration, + Context context) { + context = this.client.mergeContext(context); + Mono>> mono = + createOrUpdateWithResponseAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfiguration, + context); + return this + .client + .getLroResult( + mono, + this.client.getHttpPipeline(), + FluxConfigurationInner.class, + FluxConfigurationInner.class, + 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 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) + public SyncPoller, FluxConfigurationInner> beginCreateOrUpdate( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration) { + return beginCreateOrUpdateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfiguration) + .getSyncPoller(); + } + + /** + * 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 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) + public SyncPoller, FluxConfigurationInner> beginCreateOrUpdate( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration, + Context context) { + return beginCreateOrUpdateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfiguration, + context) + .getSyncPoller(); + } + + /** + * 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 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) + private Mono createOrUpdateAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration) { + return beginCreateOrUpdateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfiguration) + .last() + .flatMap(this.client::getLroFinalResultOrError); + } + + /** + * 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 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) + private Mono createOrUpdateAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration, + Context context) { + return beginCreateOrUpdateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfiguration, + context) + .last() + .flatMap(this.client::getLroFinalResultOrError); + } + + /** + * 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 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) + public FluxConfigurationInner createOrUpdate( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration) { + return createOrUpdateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfiguration) + .block(); + } + + /** + * 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 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) + public FluxConfigurationInner createOrUpdate( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration, + Context context) { + return createOrUpdateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfiguration, + context) + .block(); + } + + /** + * 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 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) + private Mono>> updateWithResponseAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch) { + 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 (fluxConfigurationPatch == null) { + return Mono + .error( + new IllegalArgumentException("Parameter fluxConfigurationPatch is required and cannot be null.")); + } else { + fluxConfigurationPatch.validate(); + } + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .update( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + this.client.getApiVersion(), + fluxConfigurationPatch, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * 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 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) + private Mono>> updateWithResponseAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch, + 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 (fluxConfigurationPatch == null) { + return Mono + .error( + new IllegalArgumentException("Parameter fluxConfigurationPatch is required and cannot be null.")); + } else { + fluxConfigurationPatch.validate(); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .update( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + this.client.getApiVersion(), + fluxConfigurationPatch, + accept, + 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 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) + private PollerFlux, FluxConfigurationInner> beginUpdateAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch) { + Mono>> mono = + updateWithResponseAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfigurationPatch); + return this + .client + .getLroResult( + mono, + this.client.getHttpPipeline(), + FluxConfigurationInner.class, + FluxConfigurationInner.class, + Context.NONE); + } + + /** + * 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 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) + private PollerFlux, FluxConfigurationInner> beginUpdateAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch, + Context context) { + context = this.client.mergeContext(context); + Mono>> mono = + updateWithResponseAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfigurationPatch, + context); + return this + .client + .getLroResult( + mono, + this.client.getHttpPipeline(), + FluxConfigurationInner.class, + FluxConfigurationInner.class, + 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 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) + public SyncPoller, FluxConfigurationInner> beginUpdate( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch) { + return beginUpdateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfigurationPatch) + .getSyncPoller(); + } + + /** + * 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 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) + public SyncPoller, FluxConfigurationInner> beginUpdate( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch, + Context context) { + return beginUpdateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfigurationPatch, + context) + .getSyncPoller(); + } + + /** + * 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 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) + private Mono updateAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch) { + return beginUpdateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfigurationPatch) + .last() + .flatMap(this.client::getLroFinalResultOrError); + } + + /** + * 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 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) + private Mono updateAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch, + Context context) { + return beginUpdateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfigurationPatch, + context) + .last() + .flatMap(this.client::getLroFinalResultOrError); + } + + /** + * 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 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) + public FluxConfigurationInner update( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch) { + return updateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfigurationPatch) + .block(); + } + + /** + * 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 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) + public FluxConfigurationInner update( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch, + Context context) { + return updateAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfigurationPatch, + context) + .block(); + } + + /** + * 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 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 fluxConfigurationName, + 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 (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 + .delete( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + this.client.getApiVersion(), + forceDelete, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * 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 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 fluxConfigurationName, + 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 (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 + .delete( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + this.client.getApiVersion(), + forceDelete, + accept, + 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 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 fluxConfigurationName, + Boolean forceDelete) { + Mono>> mono = + deleteWithResponseAsync( + resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, forceDelete); + return this + .client + .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, Context.NONE); + } + + /** + * 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 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 fluxConfigurationName, + Boolean forceDelete, + Context context) { + context = this.client.mergeContext(context); + Mono>> mono = + deleteWithResponseAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + forceDelete, + context); + return this + .client + .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, 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 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 fluxConfigurationName, + Boolean forceDelete) { + return beginDeleteAsync( + resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, forceDelete) + .getSyncPoller(); + } + + /** + * 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 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 fluxConfigurationName, + Boolean forceDelete, + Context context) { + return beginDeleteAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + forceDelete, + context) + .getSyncPoller(); + } + + /** + * 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 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 fluxConfigurationName, + Boolean forceDelete) { + return beginDeleteAsync( + resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, forceDelete) + .last() + .flatMap(this.client::getLroFinalResultOrError); + } + + /** + * 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 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 fluxConfigurationName) { + final Boolean forceDelete = null; + return beginDeleteAsync( + resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, forceDelete) + .last() + .flatMap(this.client::getLroFinalResultOrError); + } + + /** + * 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 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 fluxConfigurationName, + Boolean forceDelete, + Context context) { + return beginDeleteAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + forceDelete, + context) + .last() + .flatMap(this.client::getLroFinalResultOrError); + } + + /** + * 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 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 fluxConfigurationName, + Boolean forceDelete) { + deleteAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, forceDelete) + .block(); + } + + /** + * 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 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 fluxConfigurationName) { + final Boolean forceDelete = null; + deleteAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, forceDelete) + .block(); + } + + /** + * 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 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 fluxConfigurationName, + Boolean forceDelete, + Context context) { + deleteAsync( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + forceDelete, + context) + .block(); + } + + /** + * 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 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.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 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 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.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 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 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) + private PagedFlux listAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName) { + return new PagedFlux<>( + () -> listSinglePageAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName), + nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * 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 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) + 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 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 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) + public PagedIterable list( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName) { + return new PagedIterable<>(listAsync(resourceGroupName, clusterRp, clusterResourceName, 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 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) + 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 Flux Configurations. + */ + @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 Flux Configurations. + */ + @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/FluxConfigurationsImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigurationsImpl.java new file mode 100644 index 0000000000000..0cf0c2a09d691 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/FluxConfigurationsImpl.java @@ -0,0 +1,246 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.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.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.FluxConfiguration; +import com.azure.resourcemanager.kubernetesconfiguration.models.FluxConfigurationPatch; +import com.azure.resourcemanager.kubernetesconfiguration.models.FluxConfigurations; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class FluxConfigurationsImpl implements FluxConfigurations { + @JsonIgnore private final ClientLogger logger = new ClientLogger(FluxConfigurationsImpl.class); + + private final FluxConfigurationsClient innerClient; + + private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager; + + public FluxConfigurationsImpl( + FluxConfigurationsClient innerClient, + com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public FluxConfiguration get( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName) { + FluxConfigurationInner inner = + this + .serviceClient() + .get(resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName); + if (inner != null) { + return new FluxConfigurationImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + Context context) { + Response inner = + this + .serviceClient() + .getWithResponse( + resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new FluxConfigurationImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public FluxConfiguration createOrUpdate( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration) { + FluxConfigurationInner inner = + this + .serviceClient() + .createOrUpdate( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfiguration); + if (inner != null) { + return new FluxConfigurationImpl(inner, this.manager()); + } else { + return null; + } + } + + public FluxConfiguration createOrUpdate( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationInner fluxConfiguration, + Context context) { + FluxConfigurationInner inner = + this + .serviceClient() + .createOrUpdate( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfiguration, + context); + if (inner != null) { + return new FluxConfigurationImpl(inner, this.manager()); + } else { + return null; + } + } + + public FluxConfiguration update( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch) { + FluxConfigurationInner inner = + this + .serviceClient() + .update( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfigurationPatch); + if (inner != null) { + return new FluxConfigurationImpl(inner, this.manager()); + } else { + return null; + } + } + + public FluxConfiguration update( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + FluxConfigurationPatch fluxConfigurationPatch, + Context context) { + FluxConfigurationInner inner = + this + .serviceClient() + .update( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + fluxConfigurationPatch, + context); + if (inner != null) { + return new FluxConfigurationImpl(inner, this.manager()); + } else { + return null; + } + } + + public void delete( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + Boolean forceDelete) { + this + .serviceClient() + .delete(resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName, forceDelete); + } + + public void delete( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName) { + this + .serviceClient() + .delete(resourceGroupName, clusterRp, clusterResourceName, clusterName, fluxConfigurationName); + } + + public void delete( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName, + String fluxConfigurationName, + Boolean forceDelete, + Context context) { + this + .serviceClient() + .delete( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + fluxConfigurationName, + forceDelete, + context); + } + + 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 FluxConfigurationImpl(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 FluxConfigurationImpl(inner1, this.manager())); + } + + private FluxConfigurationsClient 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/LocationExtensionTypesClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/LocationExtensionTypesClientImpl.java new file mode 100644 index 0000000000000..97e4b6747a552 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/LocationExtensionTypesClientImpl.java @@ -0,0 +1,315 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.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.LocationExtensionTypesClient; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner; +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 LocationExtensionTypesClient. */ +public final class LocationExtensionTypesClientImpl implements LocationExtensionTypesClient { + private final ClientLogger logger = new ClientLogger(LocationExtensionTypesClientImpl.class); + + /** The proxy service used to perform REST calls. */ + private final LocationExtensionTypesService service; + + /** The service client containing this operation class. */ + private final SourceControlConfigurationClientImpl client; + + /** + * Initializes an instance of LocationExtensionTypesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + LocationExtensionTypesClientImpl(SourceControlConfigurationClientImpl client) { + this.service = + RestProxy + .create(LocationExtensionTypesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for SourceControlConfigurationClientLocationExtensionTypes to be used by + * the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "SourceControlConfigu") + private interface LocationExtensionTypesService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}" + + "/extensionTypes") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("location") String location, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * List all Extension Types. + * + * @param location extension location. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws 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> listSinglePageAsync(String location) { + 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.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + location, + 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 Extension Types. + * + * @param location extension location. + * @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> listSinglePageAsync(String location, 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.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + location, + this.client.getApiVersion(), + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * List all Extension Types. + * + * @param location extension location. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws 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) + private PagedFlux listAsync(String location) { + return new PagedFlux<>(() -> listSinglePageAsync(location), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * 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 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) + private PagedFlux listAsync(String location, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(location, context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * List all Extension Types. + * + * @param location extension location. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws 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) + public PagedIterable list(String location) { + return new PagedIterable<>(listAsync(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 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) + public PagedIterable list(String location, Context context) { + return new PagedIterable<>(listAsync(location, 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/LocationExtensionTypesImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/LocationExtensionTypesImpl.java new file mode 100644 index 0000000000000..512cf54a38e85 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/LocationExtensionTypesImpl.java @@ -0,0 +1,47 @@ +// 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.LocationExtensionTypesClient; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner; +import com.azure.resourcemanager.kubernetesconfiguration.models.ExtensionType; +import com.azure.resourcemanager.kubernetesconfiguration.models.LocationExtensionTypes; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class LocationExtensionTypesImpl implements LocationExtensionTypes { + @JsonIgnore private final ClientLogger logger = new ClientLogger(LocationExtensionTypesImpl.class); + + private final LocationExtensionTypesClient innerClient; + + private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager; + + public LocationExtensionTypesImpl( + LocationExtensionTypesClient innerClient, + com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String location) { + PagedIterable inner = this.serviceClient().list(location); + return Utils.mapPage(inner, inner1 -> new ExtensionTypeImpl(inner1, this.manager())); + } + + public PagedIterable list(String location, Context context) { + PagedIterable inner = this.serviceClient().list(location, context); + return Utils.mapPage(inner, inner1 -> new ExtensionTypeImpl(inner1, this.manager())); + } + + private LocationExtensionTypesClient 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/OperationStatusClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationStatusClientImpl.java new file mode 100644 index 0000000000000..d11860db1fe38 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationStatusClientImpl.java @@ -0,0 +1,673 @@ +// 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.OperationStatusClient; +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.OperationStatusList; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in OperationStatusClient. */ +public final class OperationStatusClientImpl implements OperationStatusClient { + private final ClientLogger logger = new ClientLogger(OperationStatusClientImpl.class); + + /** The proxy service used to perform REST calls. */ + private final OperationStatusService service; + + /** The service client containing this operation class. */ + private final SourceControlConfigurationClientImpl client; + + /** + * Initializes an instance of OperationStatusClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + OperationStatusClientImpl(SourceControlConfigurationClientImpl client) { + this.service = + RestProxy.create(OperationStatusService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for SourceControlConfigurationClientOperationStatus to be used by the + * proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "SourceControlConfigu") + private interface OperationStatusService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}" + + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions" + + "/{extensionName}/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("extensionName") String extensionName, + @QueryParam("api-version") String apiVersion, + @PathParam("operationId") String operationId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}" + + "/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations") + @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 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 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 extensionName, + 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 (extensionName == null) { + return Mono.error(new IllegalArgumentException("Parameter extensionName 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, + extensionName, + 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 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 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 extensionName, + 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 (extensionName == null) { + return Mono.error(new IllegalArgumentException("Parameter extensionName 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, + extensionName, + 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 extensionName Name of the Extension. + * @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 extensionName, + String operationId) { + return getWithResponseAsync( + resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, 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 extensionName Name of the Extension. + * @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 extensionName, + String operationId) { + return getAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, 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 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 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 extensionName, + String operationId, + Context context) { + return getWithResponseAsync( + resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, operationId, context) + .block(); + } + + /** + * 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 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.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 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 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.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 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 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) + private PagedFlux listAsync( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName) { + return new PagedFlux<>( + () -> listSinglePageAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName), + nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * 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 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) + 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 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 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) + public PagedIterable list( + String resourceGroupName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, + String clusterName) { + return new PagedIterable<>(listAsync(resourceGroupName, clusterRp, clusterResourceName, 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 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) + 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 the async operations in progress, in the cluster. + */ + @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 the async operations in progress, in the cluster. + */ + @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/OperationStatusImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationStatusImpl.java new file mode 100644 index 0000000000000..d88ddc702f090 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationStatusImpl.java @@ -0,0 +1,110 @@ +// 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.OperationStatusClient; +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.OperationStatus; +import com.azure.resourcemanager.kubernetesconfiguration.models.OperationStatusResult; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class OperationStatusImpl implements OperationStatus { + @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationStatusImpl.class); + + private final OperationStatusClient innerClient; + + private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager; + + public OperationStatusImpl( + OperationStatusClient 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 extensionName, + String operationId) { + OperationStatusResultInner inner = + this + .serviceClient() + .get(resourceGroupName, clusterRp, clusterResourceName, clusterName, extensionName, 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 extensionName, + String operationId, + Context context) { + Response inner = + this + .serviceClient() + .getWithResponse( + resourceGroupName, + clusterRp, + clusterResourceName, + clusterName, + extensionName, + operationId, + context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new OperationStatusResultImpl(inner.getValue(), 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 OperationStatusResultImpl(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 OperationStatusResultImpl(inner1, this.manager())); + } + + private OperationStatusClient 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/OperationStatusResultImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationStatusResultImpl.java new file mode 100644 index 0000000000000..12248f4c2cb77 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/OperationStatusResultImpl.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.implementation; + +import com.azure.core.management.exception.ManagementError; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.OperationStatusResultInner; +import com.azure.resourcemanager.kubernetesconfiguration.models.OperationStatusResult; +import java.util.Collections; +import java.util.Map; + +public final class OperationStatusResultImpl implements OperationStatusResult { + private OperationStatusResultInner innerObject; + + private final com.azure.resourcemanager.kubernetesconfiguration.SourceControlConfigurationManager serviceManager; + + OperationStatusResultImpl( + OperationStatusResultInner 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 status() { + return this.innerModel().status(); + } + + public Map properties() { + Map inner = this.innerModel().properties(); + if (inner != null) { + return Collections.unmodifiableMap(inner); + } else { + return Collections.emptyMap(); + } + } + + public ManagementError error() { + return this.innerModel().error(); + } + + public OperationStatusResultInner 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/ResourceProviderOperationImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ResourceProviderOperationImpl.java index c635d1f7e0299..2eb2fcfbd35a8 100644 --- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ResourceProviderOperationImpl.java +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/ResourceProviderOperationImpl.java @@ -32,6 +32,10 @@ public Boolean isDataAction() { return this.innerModel().isDataAction(); } + public String origin() { + return this.innerModel().origin(); + } + public ResourceProviderOperationInner innerModel() { return this.innerObject; } diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientBuilder.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientBuilder.java index d98393f02fef3..752d006aea87a 100644 --- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientBuilder.java +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientBuilder.java @@ -19,13 +19,12 @@ @ServiceClientBuilder(serviceClients = {SourceControlConfigurationClientImpl.class}) public final class SourceControlConfigurationClientBuilder { /* - * The Azure subscription ID. This is a GUID-formatted string (e.g. - * 00000000-0000-0000-0000-000000000000) + * The ID of the target subscription. */ private String subscriptionId; /** - * Sets The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + * Sets The ID of the target subscription. * * @param subscriptionId the subscriptionId value. * @return the SourceControlConfigurationClientBuilder. diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientImpl.java index 0ca2fdb4a8873..cdba6093c03c3 100644 --- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientImpl.java +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationClientImpl.java @@ -21,6 +21,14 @@ import com.azure.core.util.polling.PollerFlux; import com.azure.core.util.serializer.SerializerAdapter; import com.azure.core.util.serializer.SerializerEncoding; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.ClusterExtensionTypesClient; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.ClusterExtensionTypesOperationsClient; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.ExtensionTypeVersionsClient; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.ExtensionsClient; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.FluxConfigOperationStatusClient; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.FluxConfigurationsClient; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.LocationExtensionTypesClient; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.OperationStatusClient; import com.azure.resourcemanager.kubernetesconfiguration.fluent.OperationsClient; import com.azure.resourcemanager.kubernetesconfiguration.fluent.SourceControlConfigurationClient; import com.azure.resourcemanager.kubernetesconfiguration.fluent.SourceControlConfigurationsClient; @@ -39,11 +47,11 @@ public final class SourceControlConfigurationClientImpl implements SourceControlConfigurationClient { private final ClientLogger logger = new ClientLogger(SourceControlConfigurationClientImpl.class); - /** The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). */ + /** The ID of the target subscription. */ private final String subscriptionId; /** - * 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. */ @@ -111,6 +119,102 @@ public Duration getDefaultPollInterval() { return this.defaultPollInterval; } + /** The ClusterExtensionTypesClient object to access its operations. */ + private final ClusterExtensionTypesClient clusterExtensionTypes; + + /** + * Gets the ClusterExtensionTypesClient object to access its operations. + * + * @return the ClusterExtensionTypesClient object. + */ + public ClusterExtensionTypesClient getClusterExtensionTypes() { + return this.clusterExtensionTypes; + } + + /** The ClusterExtensionTypesOperationsClient object to access its operations. */ + private final ClusterExtensionTypesOperationsClient clusterExtensionTypesOperations; + + /** + * Gets the ClusterExtensionTypesOperationsClient object to access its operations. + * + * @return the ClusterExtensionTypesOperationsClient object. + */ + public ClusterExtensionTypesOperationsClient getClusterExtensionTypesOperations() { + return this.clusterExtensionTypesOperations; + } + + /** The ExtensionTypeVersionsClient object to access its operations. */ + private final ExtensionTypeVersionsClient extensionTypeVersions; + + /** + * Gets the ExtensionTypeVersionsClient object to access its operations. + * + * @return the ExtensionTypeVersionsClient object. + */ + public ExtensionTypeVersionsClient getExtensionTypeVersions() { + return this.extensionTypeVersions; + } + + /** The LocationExtensionTypesClient object to access its operations. */ + private final LocationExtensionTypesClient locationExtensionTypes; + + /** + * Gets the LocationExtensionTypesClient object to access its operations. + * + * @return the LocationExtensionTypesClient object. + */ + public LocationExtensionTypesClient getLocationExtensionTypes() { + return this.locationExtensionTypes; + } + + /** The ExtensionsClient object to access its operations. */ + private final ExtensionsClient extensions; + + /** + * Gets the ExtensionsClient object to access its operations. + * + * @return the ExtensionsClient object. + */ + public ExtensionsClient getExtensions() { + return this.extensions; + } + + /** The OperationStatusClient object to access its operations. */ + private final OperationStatusClient operationStatus; + + /** + * Gets the OperationStatusClient object to access its operations. + * + * @return the OperationStatusClient object. + */ + public OperationStatusClient getOperationStatus() { + return this.operationStatus; + } + + /** The FluxConfigurationsClient object to access its operations. */ + private final FluxConfigurationsClient fluxConfigurations; + + /** + * Gets the FluxConfigurationsClient object to access its operations. + * + * @return the FluxConfigurationsClient object. + */ + public FluxConfigurationsClient getFluxConfigurations() { + return this.fluxConfigurations; + } + + /** The FluxConfigOperationStatusClient object to access its operations. */ + private final FluxConfigOperationStatusClient fluxConfigOperationStatus; + + /** + * Gets the FluxConfigOperationStatusClient object to access its operations. + * + * @return the FluxConfigOperationStatusClient object. + */ + public FluxConfigOperationStatusClient getFluxConfigOperationStatus() { + return this.fluxConfigOperationStatus; + } + /** The SourceControlConfigurationsClient object to access its operations. */ private final SourceControlConfigurationsClient sourceControlConfigurations; @@ -142,8 +246,7 @@ public OperationsClient getOperations() { * @param serializerAdapter The serializer to serialize an object into a string. * @param defaultPollInterval The default poll interval for long-running operation. * @param environment The Azure environment. - * @param subscriptionId The Azure subscription ID. This is a GUID-formatted string (e.g. - * 00000000-0000-0000-0000-000000000000). + * @param subscriptionId The ID of the target subscription. * @param endpoint server parameter. */ SourceControlConfigurationClientImpl( @@ -158,7 +261,15 @@ public OperationsClient getOperations() { this.defaultPollInterval = defaultPollInterval; this.subscriptionId = subscriptionId; this.endpoint = endpoint; - this.apiVersion = "2021-03-01"; + this.apiVersion = "2022-01-01-preview"; + this.clusterExtensionTypes = new ClusterExtensionTypesClientImpl(this); + this.clusterExtensionTypesOperations = new ClusterExtensionTypesOperationsClientImpl(this); + this.extensionTypeVersions = new ExtensionTypeVersionsClientImpl(this); + this.locationExtensionTypes = new LocationExtensionTypesClientImpl(this); + this.extensions = new ExtensionsClientImpl(this); + this.operationStatus = new OperationStatusClientImpl(this); + this.fluxConfigurations = new FluxConfigurationsClientImpl(this); + this.fluxConfigOperationStatus = new FluxConfigOperationStatusClientImpl(this); this.sourceControlConfigurations = new SourceControlConfigurationsClientImpl(this); this.operations = new OperationsClientImpl(this); } diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationsClientImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationsClientImpl.java index 517ed2c74f3e6..ddd8faa256a40 100644 --- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationsClientImpl.java +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationsClientImpl.java @@ -34,9 +34,9 @@ import com.azure.core.util.polling.SyncPoller; import com.azure.resourcemanager.kubernetesconfiguration.fluent.SourceControlConfigurationsClient; 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.SourceControlConfigurationList; -import com.azure.resourcemanager.kubernetesconfiguration.models.SourceControlConfigurationsClusterResourceName; -import com.azure.resourcemanager.kubernetesconfiguration.models.SourceControlConfigurationsClusterRp; import java.nio.ByteBuffer; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -82,8 +82,8 @@ Mono> get( @HostParam("$host") String endpoint, @PathParam("subscriptionId") String subscriptionId, @PathParam("resourceGroupName") String resourceGroupName, - @PathParam("clusterRp") SourceControlConfigurationsClusterRp clusterRp, - @PathParam("clusterResourceName") SourceControlConfigurationsClusterResourceName clusterResourceName, + @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp, + @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName, @PathParam("clusterName") String clusterName, @PathParam("sourceControlConfigurationName") String sourceControlConfigurationName, @QueryParam("api-version") String apiVersion, @@ -101,8 +101,8 @@ Mono> createOrUpdate( @HostParam("$host") String endpoint, @PathParam("subscriptionId") String subscriptionId, @PathParam("resourceGroupName") String resourceGroupName, - @PathParam("clusterRp") SourceControlConfigurationsClusterRp clusterRp, - @PathParam("clusterResourceName") SourceControlConfigurationsClusterResourceName clusterResourceName, + @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp, + @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName, @PathParam("clusterName") String clusterName, @PathParam("sourceControlConfigurationName") String sourceControlConfigurationName, @QueryParam("api-version") String apiVersion, @@ -121,8 +121,8 @@ Mono>> delete( @HostParam("$host") String endpoint, @PathParam("subscriptionId") String subscriptionId, @PathParam("resourceGroupName") String resourceGroupName, - @PathParam("clusterRp") SourceControlConfigurationsClusterRp clusterRp, - @PathParam("clusterResourceName") SourceControlConfigurationsClusterResourceName clusterResourceName, + @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp, + @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName, @PathParam("clusterName") String clusterName, @PathParam("sourceControlConfigurationName") String sourceControlConfigurationName, @QueryParam("api-version") String apiVersion, @@ -140,8 +140,8 @@ Mono> list( @HostParam("$host") String endpoint, @PathParam("subscriptionId") String subscriptionId, @PathParam("resourceGroupName") String resourceGroupName, - @PathParam("clusterRp") SourceControlConfigurationsClusterRp clusterRp, - @PathParam("clusterResourceName") SourceControlConfigurationsClusterResourceName clusterResourceName, + @PathParam("clusterRp") ClusterExtensionTypeClusterRp clusterRp, + @PathParam("clusterResourceName") ClusterExtensionTypeClusterResourceName clusterResourceName, @PathParam("clusterName") String clusterName, @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, @@ -161,7 +161,7 @@ Mono> listNext( /** * 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 @@ -176,8 +176,8 @@ Mono> listNext( @ServiceMethod(returns = ReturnType.SINGLE) private Mono> getWithResponseAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName) { if (this.client.getEndpoint() == null) { @@ -234,7 +234,7 @@ private Mono> getWithResponseAsync( /** * 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 @@ -250,8 +250,8 @@ private Mono> getWithResponseAsync( @ServiceMethod(returns = ReturnType.SINGLE) private Mono> getWithResponseAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context) { @@ -306,7 +306,7 @@ private Mono> getWithResponseAsync( /** * 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 @@ -321,8 +321,8 @@ private Mono> getWithResponseAsync( @ServiceMethod(returns = ReturnType.SINGLE) private Mono getAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName) { return getWithResponseAsync( @@ -340,7 +340,7 @@ private Mono getAsync( /** * 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 @@ -355,8 +355,8 @@ private Mono getAsync( @ServiceMethod(returns = ReturnType.SINGLE) public SourceControlConfigurationInner get( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName) { return getAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, sourceControlConfigurationName) @@ -366,7 +366,7 @@ public SourceControlConfigurationInner get( /** * 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 @@ -382,8 +382,8 @@ public SourceControlConfigurationInner get( @ServiceMethod(returns = ReturnType.SINGLE) public Response getWithResponse( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context) { @@ -395,7 +395,7 @@ public 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 @@ -411,8 +411,8 @@ public Response getWithResponse( @ServiceMethod(returns = ReturnType.SINGLE) private Mono> createOrUpdateWithResponseAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, SourceControlConfigurationInner sourceControlConfiguration) { @@ -479,7 +479,7 @@ private Mono> createOrUpdateWithRespon /** * 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 @@ -496,8 +496,8 @@ private Mono> createOrUpdateWithRespon @ServiceMethod(returns = ReturnType.SINGLE) private Mono> createOrUpdateWithResponseAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, SourceControlConfigurationInner sourceControlConfiguration, @@ -562,7 +562,7 @@ private Mono> createOrUpdateWithRespon /** * 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 @@ -578,8 +578,8 @@ private Mono> createOrUpdateWithRespon @ServiceMethod(returns = ReturnType.SINGLE) private Mono createOrUpdateAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, SourceControlConfigurationInner sourceControlConfiguration) { @@ -603,7 +603,7 @@ private Mono createOrUpdateAsync( /** * 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 @@ -619,8 +619,8 @@ private Mono createOrUpdateAsync( @ServiceMethod(returns = ReturnType.SINGLE) public SourceControlConfigurationInner createOrUpdate( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, SourceControlConfigurationInner sourceControlConfiguration) { @@ -637,7 +637,7 @@ public 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 @@ -654,8 +654,8 @@ public SourceControlConfigurationInner createOrUpdate( @ServiceMethod(returns = ReturnType.SINGLE) public Response createOrUpdateWithResponse( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, SourceControlConfigurationInner sourceControlConfiguration, @@ -675,7 +675,7 @@ public 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 @@ -690,8 +690,8 @@ public Response createOrUpdateWithResponse( @ServiceMethod(returns = ReturnType.SINGLE) private Mono>> deleteWithResponseAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName) { if (this.client.getEndpoint() == null) { @@ -749,7 +749,7 @@ private Mono>> deleteWithResponseAsync( * 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 @@ -765,8 +765,8 @@ private Mono>> deleteWithResponseAsync( @ServiceMethod(returns = ReturnType.SINGLE) private Mono>> deleteWithResponseAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context) { @@ -822,7 +822,7 @@ private Mono>> deleteWithResponseAsync( * 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 @@ -834,11 +834,11 @@ private Mono>> deleteWithResponseAsync( * @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) private PollerFlux, Void> beginDeleteAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName) { Mono>> mono = @@ -853,7 +853,7 @@ private PollerFlux, Void> beginDeleteAsync( * 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 @@ -866,11 +866,11 @@ private PollerFlux, Void> beginDeleteAsync( * @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) private PollerFlux, Void> beginDeleteAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context) { @@ -892,7 +892,7 @@ private PollerFlux, Void> beginDeleteAsync( * 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 @@ -904,11 +904,11 @@ private PollerFlux, Void> beginDeleteAsync( * @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) public SyncPoller, Void> beginDelete( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName) { return beginDeleteAsync( @@ -920,7 +920,7 @@ public 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 @@ -933,11 +933,11 @@ public 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) public SyncPoller, Void> beginDelete( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context) { @@ -950,7 +950,7 @@ public 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 @@ -965,8 +965,8 @@ public SyncPoller, Void> beginDelete( @ServiceMethod(returns = ReturnType.SINGLE) private Mono deleteAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName) { return beginDeleteAsync( @@ -979,7 +979,7 @@ private Mono deleteAsync( * 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 @@ -995,8 +995,8 @@ private Mono deleteAsync( @ServiceMethod(returns = ReturnType.SINGLE) private Mono deleteAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context) { @@ -1010,7 +1010,7 @@ private Mono deleteAsync( * 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 @@ -1024,8 +1024,8 @@ private Mono deleteAsync( @ServiceMethod(returns = ReturnType.SINGLE) public void delete( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName) { deleteAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, sourceControlConfigurationName) @@ -1036,7 +1036,7 @@ public 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 @@ -1051,8 +1051,8 @@ public void delete( @ServiceMethod(returns = ReturnType.SINGLE) public void delete( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context) { @@ -1064,7 +1064,7 @@ public 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 @@ -1078,8 +1078,8 @@ public void delete( @ServiceMethod(returns = ReturnType.SINGLE) private Mono> listSinglePageAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName) { if (this.client.getEndpoint() == null) { return Mono @@ -1137,7 +1137,7 @@ private Mono> listSinglePageAsync /** * 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 @@ -1152,8 +1152,8 @@ private Mono> listSinglePageAsync @ServiceMethod(returns = ReturnType.SINGLE) private Mono> listSinglePageAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, Context context) { if (this.client.getEndpoint() == null) { @@ -1209,7 +1209,7 @@ private Mono> listSinglePageAsync /** * 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 @@ -1223,8 +1223,8 @@ private Mono> listSinglePageAsync @ServiceMethod(returns = ReturnType.COLLECTION) private PagedFlux listAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName) { return new PagedFlux<>( () -> listSinglePageAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName), @@ -1234,7 +1234,7 @@ private PagedFlux listAsync( /** * 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 @@ -1249,8 +1249,8 @@ private PagedFlux listAsync( @ServiceMethod(returns = ReturnType.COLLECTION) private PagedFlux listAsync( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, Context context) { return new PagedFlux<>( @@ -1261,7 +1261,7 @@ private PagedFlux listAsync( /** * 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 @@ -1275,8 +1275,8 @@ private PagedFlux listAsync( @ServiceMethod(returns = ReturnType.COLLECTION) public PagedIterable list( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName) { return new PagedIterable<>(listAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName)); } @@ -1284,7 +1284,7 @@ public PagedIterable list( /** * 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 @@ -1299,8 +1299,8 @@ public PagedIterable list( @ServiceMethod(returns = ReturnType.COLLECTION) public PagedIterable list( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, Context context) { return new PagedIterable<>(listAsync(resourceGroupName, clusterRp, clusterResourceName, clusterName, context)); diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationsImpl.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationsImpl.java index 002655428ad4f..91856edb5fe62 100644 --- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationsImpl.java +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/implementation/SourceControlConfigurationsImpl.java @@ -11,10 +11,10 @@ import com.azure.core.util.logging.ClientLogger; import com.azure.resourcemanager.kubernetesconfiguration.fluent.SourceControlConfigurationsClient; 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.SourceControlConfiguration; import com.azure.resourcemanager.kubernetesconfiguration.models.SourceControlConfigurations; -import com.azure.resourcemanager.kubernetesconfiguration.models.SourceControlConfigurationsClusterResourceName; -import com.azure.resourcemanager.kubernetesconfiguration.models.SourceControlConfigurationsClusterRp; import com.fasterxml.jackson.annotation.JsonIgnore; public final class SourceControlConfigurationsImpl implements SourceControlConfigurations { @@ -33,8 +33,8 @@ public SourceControlConfigurationsImpl( public SourceControlConfiguration get( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName) { SourceControlConfigurationInner inner = @@ -50,8 +50,8 @@ public SourceControlConfiguration get( public Response getWithResponse( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context) { @@ -78,8 +78,8 @@ public Response getWithResponse( public SourceControlConfiguration createOrUpdate( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, SourceControlConfigurationInner sourceControlConfiguration) { @@ -102,8 +102,8 @@ public SourceControlConfiguration createOrUpdate( public Response createOrUpdateWithResponse( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, SourceControlConfigurationInner sourceControlConfiguration, @@ -132,8 +132,8 @@ public Response createOrUpdateWithResponse( public void delete( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName) { this @@ -143,8 +143,8 @@ public void delete( public void delete( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context) { @@ -161,8 +161,8 @@ public void delete( public PagedIterable list( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName) { PagedIterable inner = this.serviceClient().list(resourceGroupName, clusterRp, clusterResourceName, clusterName); @@ -171,8 +171,8 @@ public PagedIterable list( public PagedIterable list( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, Context context) { PagedIterable inner = diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/BucketDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/BucketDefinition.java new file mode 100644 index 0000000000000..f6126b0dabd9e --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/BucketDefinition.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.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; + +/** Parameters to reconcile to the GitRepository source kind type. */ +@Fluent +public final class BucketDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(BucketDefinition.class); + + /* + * The URL to sync for the flux configuration S3 bucket. + */ + @JsonProperty(value = "url") + private String url; + + /* + * The bucket name to sync from the url endpoint for the flux + * configuration. + */ + @JsonProperty(value = "bucketName") + private String bucketName; + + /* + * Specify whether to use insecure communication when puling data from the + * S3 bucket. + */ + @JsonProperty(value = "insecure") + private Boolean insecure; + + /* + * The maximum time to attempt to reconcile the cluster git repository + * source with the remote. + */ + @JsonProperty(value = "timeoutInSeconds") + private Long timeoutInSeconds; + + /* + * The interval at which to re-reconcile the cluster git repository source + * with the remote. + */ + @JsonProperty(value = "syncIntervalInSeconds") + private Long syncIntervalInSeconds; + + /* + * Plaintext access key used to securely access the S3 bucket + */ + @JsonProperty(value = "accessKey") + private String accessKey; + + /* + * Name of a local secret on the Kubernetes cluster to use as the + * authentication secret rather than the managed or user-provided + * configuration secrets. + */ + @JsonProperty(value = "localAuthRef") + private String localAuthRef; + + /** + * Get the url property: The URL to sync for the flux configuration S3 bucket. + * + * @return the url value. + */ + public String url() { + return this.url; + } + + /** + * Set the url property: The URL to sync for the flux configuration S3 bucket. + * + * @param url the url value to set. + * @return the BucketDefinition object itself. + */ + public BucketDefinition withUrl(String url) { + this.url = url; + return this; + } + + /** + * Get the bucketName property: The bucket name to sync from the url endpoint for the flux configuration. + * + * @return the bucketName value. + */ + public String bucketName() { + return this.bucketName; + } + + /** + * Set the bucketName property: The bucket name to sync from the url endpoint for the flux configuration. + * + * @param bucketName the bucketName value to set. + * @return the BucketDefinition object itself. + */ + public BucketDefinition withBucketName(String bucketName) { + this.bucketName = bucketName; + return this; + } + + /** + * Get the insecure property: Specify whether to use insecure communication when puling data from the S3 bucket. + * + * @return the insecure value. + */ + public Boolean insecure() { + return this.insecure; + } + + /** + * Set the insecure property: Specify whether to use insecure communication when puling data from the S3 bucket. + * + * @param insecure the insecure value to set. + * @return the BucketDefinition object itself. + */ + public BucketDefinition withInsecure(Boolean insecure) { + this.insecure = insecure; + return this; + } + + /** + * Get the timeoutInSeconds property: The maximum time to attempt to reconcile the cluster git repository source + * with the remote. + * + * @return the timeoutInSeconds value. + */ + public Long timeoutInSeconds() { + return this.timeoutInSeconds; + } + + /** + * Set the timeoutInSeconds property: The maximum time to attempt to reconcile the cluster git repository source + * with the remote. + * + * @param timeoutInSeconds the timeoutInSeconds value to set. + * @return the BucketDefinition object itself. + */ + public BucketDefinition withTimeoutInSeconds(Long timeoutInSeconds) { + this.timeoutInSeconds = timeoutInSeconds; + return this; + } + + /** + * Get the syncIntervalInSeconds property: The interval at which to re-reconcile the cluster git repository source + * with the remote. + * + * @return the syncIntervalInSeconds value. + */ + public Long syncIntervalInSeconds() { + return this.syncIntervalInSeconds; + } + + /** + * Set the syncIntervalInSeconds property: The interval at which to re-reconcile the cluster git repository source + * with the remote. + * + * @param syncIntervalInSeconds the syncIntervalInSeconds value to set. + * @return the BucketDefinition object itself. + */ + public BucketDefinition withSyncIntervalInSeconds(Long syncIntervalInSeconds) { + this.syncIntervalInSeconds = syncIntervalInSeconds; + return this; + } + + /** + * Get the accessKey property: Plaintext access key used to securely access the S3 bucket. + * + * @return the accessKey value. + */ + public String accessKey() { + return this.accessKey; + } + + /** + * Set the accessKey property: Plaintext access key used to securely access the S3 bucket. + * + * @param accessKey the accessKey value to set. + * @return the BucketDefinition object itself. + */ + public BucketDefinition withAccessKey(String accessKey) { + this.accessKey = accessKey; + return this; + } + + /** + * Get the localAuthRef property: Name of a local secret on the Kubernetes cluster to use as the authentication + * secret rather than the managed or user-provided configuration secrets. + * + * @return the localAuthRef value. + */ + public String localAuthRef() { + return this.localAuthRef; + } + + /** + * Set the localAuthRef property: Name of a local secret on the Kubernetes cluster to use as the authentication + * secret rather than the managed or user-provided configuration secrets. + * + * @param localAuthRef the localAuthRef value to set. + * @return the BucketDefinition object itself. + */ + public BucketDefinition withLocalAuthRef(String localAuthRef) { + this.localAuthRef = localAuthRef; + 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/models/ClusterExtensionTypeClusterResourceName.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterExtensionTypeClusterResourceName.java new file mode 100644 index 0000000000000..23b4f5146f44d --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterExtensionTypeClusterResourceName.java @@ -0,0 +1,35 @@ +// 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.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for ClusterExtensionTypeClusterResourceName. */ +public final class ClusterExtensionTypeClusterResourceName + extends ExpandableStringEnum { + /** Static value managedClusters for ClusterExtensionTypeClusterResourceName. */ + public static final ClusterExtensionTypeClusterResourceName MANAGED_CLUSTERS = fromString("managedClusters"); + + /** Static value connectedClusters for ClusterExtensionTypeClusterResourceName. */ + public static final ClusterExtensionTypeClusterResourceName CONNECTED_CLUSTERS = fromString("connectedClusters"); + + /** + * Creates or finds a ClusterExtensionTypeClusterResourceName from its string representation. + * + * @param name a name to look for. + * @return the corresponding ClusterExtensionTypeClusterResourceName. + */ + @JsonCreator + public static ClusterExtensionTypeClusterResourceName fromString(String name) { + return fromString(name, ClusterExtensionTypeClusterResourceName.class); + } + + /** @return known ClusterExtensionTypeClusterResourceName values. */ + public static Collection values() { + return values(ClusterExtensionTypeClusterResourceName.class); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterExtensionTypeClusterRp.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterExtensionTypeClusterRp.java new file mode 100644 index 0000000000000..360ff33bbc8b5 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterExtensionTypeClusterRp.java @@ -0,0 +1,35 @@ +// 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.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for ClusterExtensionTypeClusterRp. */ +public final class ClusterExtensionTypeClusterRp extends ExpandableStringEnum { + /** Static value Microsoft.ContainerService for ClusterExtensionTypeClusterRp. */ + public static final ClusterExtensionTypeClusterRp MICROSOFT_CONTAINER_SERVICE = + fromString("Microsoft.ContainerService"); + + /** Static value Microsoft.Kubernetes for ClusterExtensionTypeClusterRp. */ + public static final ClusterExtensionTypeClusterRp MICROSOFT_KUBERNETES = fromString("Microsoft.Kubernetes"); + + /** + * Creates or finds a ClusterExtensionTypeClusterRp from its string representation. + * + * @param name a name to look for. + * @return the corresponding ClusterExtensionTypeClusterRp. + */ + @JsonCreator + public static ClusterExtensionTypeClusterRp fromString(String name) { + return fromString(name, ClusterExtensionTypeClusterRp.class); + } + + /** @return known ClusterExtensionTypeClusterRp values. */ + public static Collection values() { + return values(ClusterExtensionTypeClusterRp.class); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterExtensionTypes.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterExtensionTypes.java new file mode 100644 index 0000000000000..6766f7ea4fc9c --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterExtensionTypes.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of ClusterExtensionTypes. */ +public interface ClusterExtensionTypes { + /** + * 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. + */ + ExtensionType 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. + */ + 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/models/ClusterExtensionTypesOperations.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterExtensionTypesOperations.java new file mode 100644 index 0000000000000..b94ccffd217c5 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterExtensionTypesOperations.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of ClusterExtensionTypesOperations. */ +public interface ClusterExtensionTypesOperations { + /** + * 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. + */ + 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. + */ + 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/models/ClusterScopeSettings.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterScopeSettings.java new file mode 100644 index 0000000000000..61f0acad72c6f --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterScopeSettings.java @@ -0,0 +1,90 @@ +// 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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ClusterScopeSettingsProperties; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Extension scope settings. */ +@Fluent +public final class ClusterScopeSettings extends ProxyResource { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ClusterScopeSettings.class); + + /* + * Extension scope settings + */ + @JsonProperty(value = "properties") + private ClusterScopeSettingsProperties innerProperties; + + /** + * Get the innerProperties property: Extension scope settings. + * + * @return the innerProperties value. + */ + private ClusterScopeSettingsProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the allowMultipleInstances property: Describes if multiple instances of the extension are allowed. + * + * @return the allowMultipleInstances value. + */ + public Boolean allowMultipleInstances() { + return this.innerProperties() == null ? null : this.innerProperties().allowMultipleInstances(); + } + + /** + * Set the allowMultipleInstances property: Describes if multiple instances of the extension are allowed. + * + * @param allowMultipleInstances the allowMultipleInstances value to set. + * @return the ClusterScopeSettings object itself. + */ + public ClusterScopeSettings withAllowMultipleInstances(Boolean allowMultipleInstances) { + if (this.innerProperties() == null) { + this.innerProperties = new ClusterScopeSettingsProperties(); + } + this.innerProperties().withAllowMultipleInstances(allowMultipleInstances); + return this; + } + + /** + * Get the defaultReleaseNamespace property: Default extension release namespace. + * + * @return the defaultReleaseNamespace value. + */ + public String defaultReleaseNamespace() { + return this.innerProperties() == null ? null : this.innerProperties().defaultReleaseNamespace(); + } + + /** + * Set the defaultReleaseNamespace property: Default extension release namespace. + * + * @param defaultReleaseNamespace the defaultReleaseNamespace value to set. + * @return the ClusterScopeSettings object itself. + */ + public ClusterScopeSettings withDefaultReleaseNamespace(String defaultReleaseNamespace) { + if (this.innerProperties() == null) { + this.innerProperties = new ClusterScopeSettingsProperties(); + } + this.innerProperties().withDefaultReleaseNamespace(defaultReleaseNamespace); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterTypes.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterTypes.java new file mode 100644 index 0000000000000..78999966cb671 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ClusterTypes.java @@ -0,0 +1,47 @@ +// 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.models; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** Defines values for ClusterTypes. */ +public enum ClusterTypes { + /** Enum value connectedClusters. */ + CONNECTED_CLUSTERS("connectedClusters"), + + /** Enum value managedClusters. */ + MANAGED_CLUSTERS("managedClusters"); + + /** The actual serialized value for a ClusterTypes instance. */ + private final String value; + + ClusterTypes(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a ClusterTypes instance. + * + * @param value the serialized value to parse. + * @return the parsed ClusterTypes object, or null if unable to parse. + */ + @JsonCreator + public static ClusterTypes fromString(String value) { + ClusterTypes[] items = ClusterTypes.values(); + for (ClusterTypes item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + @JsonValue + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/DependsOnDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/DependsOnDefinition.java new file mode 100644 index 0000000000000..4208e43c50eae --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/DependsOnDefinition.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.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; + +/** Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. */ +@Fluent +public final class DependsOnDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(DependsOnDefinition.class); + + /* + * Name of the kustomization to claim dependency on + */ + @JsonProperty(value = "kustomizationName") + private String kustomizationName; + + /** + * Get the kustomizationName property: Name of the kustomization to claim dependency on. + * + * @return the kustomizationName value. + */ + public String kustomizationName() { + return this.kustomizationName; + } + + /** + * Set the kustomizationName property: Name of the kustomization to claim dependency on. + * + * @param kustomizationName the kustomizationName value to set. + * @return the DependsOnDefinition object itself. + */ + public DependsOnDefinition withKustomizationName(String kustomizationName) { + this.kustomizationName = kustomizationName; + 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/models/Extension.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/Extension.java new file mode 100644 index 0000000000000..833ff91c98aac --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/Extension.java @@ -0,0 +1,154 @@ +// 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.models; + +import com.azure.core.management.SystemData; +import com.azure.core.management.exception.ManagementError; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionInner; +import java.util.List; +import java.util.Map; + +/** An immutable client-side representation of Extension. */ +public interface Extension { + /** + * Gets the id property: Fully qualified resource Id for the resource. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The name of the resource. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The type of the resource. + * + * @return the type value. + */ + String type(); + + /** + * Gets the identity property: Identity of the Extension resource. + * + * @return the identity value. + */ + Identity identity(); + + /** + * Gets 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. + */ + SystemData systemData(); + + /** + * Gets 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. + */ + String extensionType(); + + /** + * Gets the autoUpgradeMinorVersion property: Flag to note if this extension participates in auto upgrade of minor + * version, or not. + * + * @return the autoUpgradeMinorVersion value. + */ + Boolean autoUpgradeMinorVersion(); + + /** + * Gets 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. + */ + String releaseTrain(); + + /** + * Gets 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. + */ + String version(); + + /** + * Gets the scope property: Scope at which the extension is installed. + * + * @return the scope value. + */ + Scope scope(); + + /** + * Gets the configurationSettings property: Configuration settings, as name-value pairs for configuring this + * extension. + * + * @return the configurationSettings value. + */ + Map configurationSettings(); + + /** + * Gets the configurationProtectedSettings property: Configuration settings that are sensitive, as name-value pairs + * for configuring this extension. + * + * @return the configurationProtectedSettings value. + */ + Map configurationProtectedSettings(); + + /** + * Gets the provisioningState property: Status of installation of this extension. + * + * @return the provisioningState value. + */ + ProvisioningState provisioningState(); + + /** + * Gets the statuses property: Status from this extension. + * + * @return the statuses value. + */ + List statuses(); + + /** + * Gets the errorInfo property: Error information from the Agent - e.g. errors during installation. + * + * @return the errorInfo value. + */ + ManagementError errorInfo(); + + /** + * Gets the customLocationSettings property: Custom Location settings properties. + * + * @return the customLocationSettings value. + */ + Map customLocationSettings(); + + /** + * Gets the packageUri property: Uri of the Helm package. + * + * @return the packageUri value. + */ + String packageUri(); + + /** + * Gets the aksAssignedIdentity property: Identity of the Extension resource in an AKS cluster. + * + * @return the aksAssignedIdentity value. + */ + ExtensionPropertiesAksAssignedIdentity aksAssignedIdentity(); + + /** + * Gets the inner com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionInner object. + * + * @return the inner object. + */ + ExtensionInner innerModel(); +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionPropertiesAksAssignedIdentity.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionPropertiesAksAssignedIdentity.java new file mode 100644 index 0000000000000..9349e2ee152ba --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionPropertiesAksAssignedIdentity.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.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; + +/** Identity of the Extension resource in an AKS cluster. */ +@Fluent +public class ExtensionPropertiesAksAssignedIdentity { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionPropertiesAksAssignedIdentity.class); + + /* + * The principal ID of resource identity. + */ + @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY) + private String principalId; + + /* + * The tenant ID of resource. + */ + @JsonProperty(value = "tenantId", access = JsonProperty.Access.WRITE_ONLY) + private String tenantId; + + /* + * The identity type. + */ + @JsonProperty(value = "type") + private ResourceIdentityType type; + + /** + * Get the principalId property: The principal ID of resource identity. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Get the tenantId property: The tenant ID of resource. + * + * @return the tenantId value. + */ + public String tenantId() { + return this.tenantId; + } + + /** + * Get the type property: The identity type. + * + * @return the type value. + */ + public ResourceIdentityType type() { + return this.type; + } + + /** + * Set the type property: The identity type. + * + * @param type the type value to set. + * @return the ExtensionPropertiesAksAssignedIdentity object itself. + */ + public ExtensionPropertiesAksAssignedIdentity withType(ResourceIdentityType type) { + this.type = type; + 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/models/ExtensionStatus.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionStatus.java new file mode 100644 index 0000000000000..c9f5b82a2ec7a --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionStatus.java @@ -0,0 +1,154 @@ +// 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.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; + +/** Status from the extension. */ +@Fluent +public final class ExtensionStatus { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionStatus.class); + + /* + * Status code provided by the Extension + */ + @JsonProperty(value = "code") + private String code; + + /* + * Short description of status of the extension. + */ + @JsonProperty(value = "displayStatus") + private String displayStatus; + + /* + * Level of the status. + */ + @JsonProperty(value = "level") + private LevelType level; + + /* + * Detailed message of the status from the Extension. + */ + @JsonProperty(value = "message") + private String message; + + /* + * DateLiteral (per ISO8601) noting the time of installation status. + */ + @JsonProperty(value = "time") + private String time; + + /** + * Get the code property: Status code provided by the Extension. + * + * @return the code value. + */ + public String code() { + return this.code; + } + + /** + * Set the code property: Status code provided by the Extension. + * + * @param code the code value to set. + * @return the ExtensionStatus object itself. + */ + public ExtensionStatus withCode(String code) { + this.code = code; + return this; + } + + /** + * Get the displayStatus property: Short description of status of the extension. + * + * @return the displayStatus value. + */ + public String displayStatus() { + return this.displayStatus; + } + + /** + * Set the displayStatus property: Short description of status of the extension. + * + * @param displayStatus the displayStatus value to set. + * @return the ExtensionStatus object itself. + */ + public ExtensionStatus withDisplayStatus(String displayStatus) { + this.displayStatus = displayStatus; + return this; + } + + /** + * Get the level property: Level of the status. + * + * @return the level value. + */ + public LevelType level() { + return this.level; + } + + /** + * Set the level property: Level of the status. + * + * @param level the level value to set. + * @return the ExtensionStatus object itself. + */ + public ExtensionStatus withLevel(LevelType level) { + this.level = level; + return this; + } + + /** + * Get the message property: Detailed message of the status from the Extension. + * + * @return the message value. + */ + public String message() { + return this.message; + } + + /** + * Set the message property: Detailed message of the status from the Extension. + * + * @param message the message value to set. + * @return the ExtensionStatus object itself. + */ + public ExtensionStatus withMessage(String message) { + this.message = message; + return this; + } + + /** + * Get the time property: DateLiteral (per ISO8601) noting the time of installation status. + * + * @return the time value. + */ + public String time() { + return this.time; + } + + /** + * Set the time property: DateLiteral (per ISO8601) noting the time of installation status. + * + * @param time the time value to set. + * @return the ExtensionStatus object itself. + */ + public ExtensionStatus withTime(String time) { + this.time = time; + 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/models/ExtensionType.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionType.java new file mode 100644 index 0000000000000..fd0141c9836f4 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionType.java @@ -0,0 +1,47 @@ +// 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.models; + +import com.azure.core.management.SystemData; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner; +import java.util.List; + +/** An immutable client-side representation of ExtensionType. */ +public interface ExtensionType { + /** + * Gets the systemData property: Metadata pertaining to creation and last modification of the resource. + * + * @return the systemData value. + */ + SystemData systemData(); + + /** + * Gets the releaseTrains property: Extension release train: preview or stable. + * + * @return the releaseTrains value. + */ + List releaseTrains(); + + /** + * Gets the clusterTypes property: Cluster types. + * + * @return the clusterTypes value. + */ + ClusterTypes clusterTypes(); + + /** + * Gets the supportedScopes property: Extension scopes. + * + * @return the supportedScopes value. + */ + SupportedScopes supportedScopes(); + + /** + * Gets the inner com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner object. + * + * @return the inner object. + */ + ExtensionTypeInner innerModel(); +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionTypeList.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionTypeList.java new file mode 100644 index 0000000000000..3aa0a8464bff5 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionTypeList.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionTypeInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List Extension Types. */ +@Fluent +public final class ExtensionTypeList { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionTypeList.class); + + /* + * The list of Extension Types + */ + @JsonProperty(value = "value") + private List value; + + /* + * The link to fetch the next page of Extension Types + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: The list of Extension Types. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: The list of Extension Types. + * + * @param value the value value to set. + * @return the ExtensionTypeList object itself. + */ + public ExtensionTypeList withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The link to fetch the next page of Extension Types. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The link to fetch the next page of Extension Types. + * + * @param nextLink the nextLink value to set. + * @return the ExtensionTypeList object itself. + */ + public ExtensionTypeList withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionTypeVersions.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionTypeVersions.java new file mode 100644 index 0000000000000..160e88a8ea7b1 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionTypeVersions.java @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of ExtensionTypeVersions. */ +public interface ExtensionTypeVersions { + /** + * 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. + */ + 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. + */ + PagedIterable list(String location, String extensionTypeName, Context context); +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionVersionList.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionVersionList.java new file mode 100644 index 0000000000000..18bcdb6b7b412 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionVersionList.java @@ -0,0 +1,96 @@ +// 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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.SystemData; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List versions for an Extension. */ +@Fluent +public final class ExtensionVersionList { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionVersionList.class); + + /* + * Versions available for this Extension Type + */ + @JsonProperty(value = "versions") + private List versions; + + /* + * The link to fetch the next page of Extension Types + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /* + * Metadata pertaining to creation and last modification of the resource. + */ + @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY) + private SystemData systemData; + + /** + * Get the versions property: Versions available for this Extension Type. + * + * @return the versions value. + */ + public List versions() { + return this.versions; + } + + /** + * Set the versions property: Versions available for this Extension Type. + * + * @param versions the versions value to set. + * @return the ExtensionVersionList object itself. + */ + public ExtensionVersionList withVersions(List versions) { + this.versions = versions; + return this; + } + + /** + * Get the nextLink property: The link to fetch the next page of Extension Types. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The link to fetch the next page of Extension Types. + * + * @param nextLink the nextLink value to set. + * @return the ExtensionVersionList object itself. + */ + public ExtensionVersionList withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Get the systemData property: Metadata pertaining to creation and last modification of the resource. + * + * @return the systemData value. + */ + public SystemData systemData() { + return this.systemData; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (versions() != null) { + versions().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionVersionListVersionsItem.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionVersionListVersionsItem.java new file mode 100644 index 0000000000000..45252cb5b5353 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionVersionListVersionsItem.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The ExtensionVersionListVersionsItem model. */ +@Fluent +public final class ExtensionVersionListVersionsItem { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionVersionListVersionsItem.class); + + /* + * The release train for this Extension Type + */ + @JsonProperty(value = "releaseTrain") + private String releaseTrain; + + /* + * Versions available for this Extension Type and release train + */ + @JsonProperty(value = "versions") + private List versions; + + /** + * Get the releaseTrain property: The release train for this Extension Type. + * + * @return the releaseTrain value. + */ + public String releaseTrain() { + return this.releaseTrain; + } + + /** + * Set the releaseTrain property: The release train for this Extension Type. + * + * @param releaseTrain the releaseTrain value to set. + * @return the ExtensionVersionListVersionsItem object itself. + */ + public ExtensionVersionListVersionsItem withReleaseTrain(String releaseTrain) { + this.releaseTrain = releaseTrain; + return this; + } + + /** + * Get the versions property: Versions available for this Extension Type and release train. + * + * @return the versions value. + */ + public List versions() { + return this.versions; + } + + /** + * Set the versions property: Versions available for this Extension Type and release train. + * + * @param versions the versions value to set. + * @return the ExtensionVersionListVersionsItem object itself. + */ + public ExtensionVersionListVersionsItem withVersions(List versions) { + this.versions = versions; + 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/models/Extensions.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/Extensions.java new file mode 100644 index 0000000000000..fa6cf009fa9ac --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/Extensions.java @@ -0,0 +1,270 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +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.ExtensionInner; + +/** Resource collection API of Extensions. */ +public interface Extensions { + /** + * 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. + */ + Extension 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. + */ + Extension 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. + */ + Extension 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + Extension 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. + */ + Extension 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. + */ + 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. + */ + 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/models/ExtensionsList.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionsList.java new file mode 100644 index 0000000000000..5ba0f34af035c --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ExtensionsList.java @@ -0,0 +1,62 @@ +// 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.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ExtensionInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set + * of results. + */ +@Immutable +public final class ExtensionsList { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ExtensionsList.class); + + /* + * List of Extensions within a Kubernetes cluster. + */ + @JsonProperty(value = "value", access = JsonProperty.Access.WRITE_ONLY) + private List value; + + /* + * URL to get the next set of extension objects, if any. + */ + @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY) + private String nextLink; + + /** + * Get the value property: List of Extensions within a Kubernetes cluster. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Get the nextLink property: URL to get the next set of extension objects, if any. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxComplianceState.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxComplianceState.java new file mode 100644 index 0000000000000..5f708cfccf8b0 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxComplianceState.java @@ -0,0 +1,43 @@ +// 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.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for FluxComplianceState. */ +public final class FluxComplianceState extends ExpandableStringEnum { + /** Static value Compliant for FluxComplianceState. */ + public static final FluxComplianceState COMPLIANT = fromString("Compliant"); + + /** Static value Non-Compliant for FluxComplianceState. */ + public static final FluxComplianceState NON_COMPLIANT = fromString("Non-Compliant"); + + /** Static value Pending for FluxComplianceState. */ + public static final FluxComplianceState PENDING = fromString("Pending"); + + /** Static value Suspended for FluxComplianceState. */ + public static final FluxComplianceState SUSPENDED = fromString("Suspended"); + + /** Static value Unknown for FluxComplianceState. */ + public static final FluxComplianceState UNKNOWN = fromString("Unknown"); + + /** + * Creates or finds a FluxComplianceState from its string representation. + * + * @param name a name to look for. + * @return the corresponding FluxComplianceState. + */ + @JsonCreator + public static FluxComplianceState fromString(String name) { + return fromString(name, FluxComplianceState.class); + } + + /** @return known FluxComplianceState values. */ + public static Collection values() { + return values(FluxComplianceState.class); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigOperationStatus.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigOperationStatus.java new file mode 100644 index 0000000000000..f45873c04288c --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigOperationStatus.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of FluxConfigOperationStatus. */ +public interface FluxConfigOperationStatus { + /** + * 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. + */ + OperationStatusResult 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. + */ + 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/models/FluxConfiguration.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfiguration.java new file mode 100644 index 0000000000000..e3bb9b4981f3f --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfiguration.java @@ -0,0 +1,162 @@ +// 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.models; + +import com.azure.core.management.SystemData; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.FluxConfigurationInner; +import java.time.OffsetDateTime; +import java.util.List; +import java.util.Map; + +/** An immutable client-side representation of FluxConfiguration. */ +public interface FluxConfiguration { + /** + * Gets the id property: Fully qualified resource Id for the resource. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The name of the resource. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The type of the resource. + * + * @return the type value. + */ + String type(); + + /** + * Gets 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. + */ + SystemData systemData(); + + /** + * Gets the scope property: Scope at which the operator will be installed. + * + * @return the scope value. + */ + ScopeType scope(); + + /** + * Gets 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. + */ + String namespace(); + + /** + * Gets the sourceKind property: Source Kind to pull the configuration data from. + * + * @return the sourceKind value. + */ + SourceKindType sourceKind(); + + /** + * Gets the suspend property: Whether this configuration should suspend its reconciliation of its kustomizations and + * sources. + * + * @return the suspend value. + */ + Boolean suspend(); + + /** + * Gets the gitRepository property: Parameters to reconcile to the GitRepository source kind type. + * + * @return the gitRepository value. + */ + GitRepositoryDefinition gitRepository(); + + /** + * Gets the bucket property: Parameters to reconcile to the Bucket source kind type. + * + * @return the bucket value. + */ + BucketDefinition bucket(); + + /** + * Gets the kustomizations property: Array of kustomizations used to reconcile the artifact pulled by the source + * type on the cluster. + * + * @return the kustomizations value. + */ + Map kustomizations(); + + /** + * Gets the configurationProtectedSettings property: Key-value pairs of protected configuration settings for the + * configuration. + * + * @return the configurationProtectedSettings value. + */ + Map configurationProtectedSettings(); + + /** + * Gets 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. + */ + List statuses(); + + /** + * Gets the repositoryPublicKey property: Public Key associated with this fluxConfiguration (either generated within + * the cluster or provided by the user). + * + * @return the repositoryPublicKey value. + */ + String repositoryPublicKey(); + + /** + * Gets the lastSourceUpdatedCommitId property: Branch and SHA of the last source commit synced with the cluster. + * + * @return the lastSourceUpdatedCommitId value. + */ + String lastSourceUpdatedCommitId(); + + /** + * Gets the lastSourceUpdatedAt property: Datetime the fluxConfiguration last synced its source on the cluster. + * + * @return the lastSourceUpdatedAt value. + */ + OffsetDateTime lastSourceUpdatedAt(); + + /** + * Gets the complianceState property: Combined status of the Flux Kubernetes resources created by the + * fluxConfiguration or created by the managed objects. + * + * @return the complianceState value. + */ + FluxComplianceState complianceState(); + + /** + * Gets the provisioningState property: Status of the creation of the fluxConfiguration. + * + * @return the provisioningState value. + */ + ProvisioningState provisioningState(); + + /** + * Gets the errorMessage property: Error message returned to the user in the case of provisioning failure. + * + * @return the errorMessage value. + */ + String errorMessage(); + + /** + * Gets the inner com.azure.resourcemanager.kubernetesconfiguration.fluent.models.FluxConfigurationInner object. + * + * @return the inner object. + */ + FluxConfigurationInner innerModel(); +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigurationPatch.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigurationPatch.java new file mode 100644 index 0000000000000..3d5993533e5f1 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigurationPatch.java @@ -0,0 +1,189 @@ +// 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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.FluxConfigurationPatchProperties; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** The Flux Configuration Patch Request object. */ +@Fluent +public final class FluxConfigurationPatch { + @JsonIgnore private final ClientLogger logger = new ClientLogger(FluxConfigurationPatch.class); + + /* + * Updatable properties of an Flux Configuration Patch Request + */ + @JsonProperty(value = "properties") + private FluxConfigurationPatchProperties innerProperties; + + /** + * Get the innerProperties property: Updatable properties of an Flux Configuration Patch Request. + * + * @return the innerProperties value. + */ + private FluxConfigurationPatchProperties innerProperties() { + return this.innerProperties; + } + + /** + * 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 FluxConfigurationPatch object itself. + */ + public FluxConfigurationPatch withSourceKind(SourceKindType sourceKind) { + if (this.innerProperties() == null) { + this.innerProperties = new FluxConfigurationPatchProperties(); + } + 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 FluxConfigurationPatch object itself. + */ + public FluxConfigurationPatch withSuspend(Boolean suspend) { + if (this.innerProperties() == null) { + this.innerProperties = new FluxConfigurationPatchProperties(); + } + this.innerProperties().withSuspend(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.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 FluxConfigurationPatch object itself. + */ + public FluxConfigurationPatch withGitRepository(GitRepositoryPatchDefinition gitRepository) { + if (this.innerProperties() == null) { + this.innerProperties = new FluxConfigurationPatchProperties(); + } + 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 FluxConfigurationPatch object itself. + */ + public FluxConfigurationPatch withBucket(BucketDefinition bucket) { + if (this.innerProperties() == null) { + this.innerProperties = new FluxConfigurationPatchProperties(); + } + 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 FluxConfigurationPatch object itself. + */ + public FluxConfigurationPatch withKustomizations(Map kustomizations) { + if (this.innerProperties() == null) { + this.innerProperties = new FluxConfigurationPatchProperties(); + } + 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 FluxConfigurationPatch object itself. + */ + public FluxConfigurationPatch withConfigurationProtectedSettings( + Map configurationProtectedSettings) { + if (this.innerProperties() == null) { + this.innerProperties = new FluxConfigurationPatchProperties(); + } + this.innerProperties().withConfigurationProtectedSettings(configurationProtectedSettings); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigurations.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigurations.java new file mode 100644 index 0000000000000..3a5a52144fdaf --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigurations.java @@ -0,0 +1,273 @@ +// 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.models; + +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.FluxConfigurationInner; + +/** Resource collection API of FluxConfigurations. */ +public interface FluxConfigurations { + /** + * 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. + */ + FluxConfiguration 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. + */ + 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. + */ + FluxConfiguration 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. + */ + FluxConfiguration 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. + */ + FluxConfiguration 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. + */ + FluxConfiguration 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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/models/FluxConfigurationsList.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigurationsList.java new file mode 100644 index 0000000000000..91802fcc2fddc --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/FluxConfigurationsList.java @@ -0,0 +1,62 @@ +// 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.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.FluxConfigurationInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to + * get the next set of results. + */ +@Immutable +public final class FluxConfigurationsList { + @JsonIgnore private final ClientLogger logger = new ClientLogger(FluxConfigurationsList.class); + + /* + * List of Flux Configurations within a Kubernetes cluster. + */ + @JsonProperty(value = "value", access = JsonProperty.Access.WRITE_ONLY) + private List value; + + /* + * URL to get the next set of configuration objects, if any. + */ + @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY) + private String nextLink; + + /** + * Get the value property: List of Flux Configurations within a Kubernetes cluster. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Get the nextLink property: URL to get the next set of configuration objects, if any. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/GitRepositoryDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/GitRepositoryDefinition.java new file mode 100644 index 0000000000000..70f78f173c0fb --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/GitRepositoryDefinition.java @@ -0,0 +1,252 @@ +// 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.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; + +/** Parameters to reconcile to the GitRepository source kind type. */ +@Fluent +public final class GitRepositoryDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(GitRepositoryDefinition.class); + + /* + * The URL to sync for the flux configuration git repository. + */ + @JsonProperty(value = "url") + private String url; + + /* + * The maximum time to attempt to reconcile the cluster git repository + * source with the remote. + */ + @JsonProperty(value = "timeoutInSeconds") + private Long timeoutInSeconds; + + /* + * The interval at which to re-reconcile the cluster git repository source + * with the remote. + */ + @JsonProperty(value = "syncIntervalInSeconds") + private Long syncIntervalInSeconds; + + /* + * The source reference for the GitRepository object. + */ + @JsonProperty(value = "repositoryRef") + private RepositoryRefDefinition repositoryRef; + + /* + * Base64-encoded known_hosts value containing public SSH keys required to + * access private git repositories over SSH + */ + @JsonProperty(value = "sshKnownHosts") + private String sshKnownHosts; + + /* + * Plaintext HTTPS username used to access private git repositories over + * HTTPS + */ + @JsonProperty(value = "httpsUser") + private String httpsUser; + + /* + * Base64-encoded HTTPS certificate authority contents used to access git + * private git repositories over HTTPS + */ + @JsonProperty(value = "httpsCACert") + private String httpsCACert; + + /* + * Name of a local secret on the Kubernetes cluster to use as the + * authentication secret rather than the managed or user-provided + * configuration secrets. + */ + @JsonProperty(value = "localAuthRef") + private String localAuthRef; + + /** + * Get the url property: The URL to sync for the flux configuration git repository. + * + * @return the url value. + */ + public String url() { + return this.url; + } + + /** + * Set the url property: The URL to sync for the flux configuration git repository. + * + * @param url the url value to set. + * @return the GitRepositoryDefinition object itself. + */ + public GitRepositoryDefinition withUrl(String url) { + this.url = url; + return this; + } + + /** + * Get the timeoutInSeconds property: The maximum time to attempt to reconcile the cluster git repository source + * with the remote. + * + * @return the timeoutInSeconds value. + */ + public Long timeoutInSeconds() { + return this.timeoutInSeconds; + } + + /** + * Set the timeoutInSeconds property: The maximum time to attempt to reconcile the cluster git repository source + * with the remote. + * + * @param timeoutInSeconds the timeoutInSeconds value to set. + * @return the GitRepositoryDefinition object itself. + */ + public GitRepositoryDefinition withTimeoutInSeconds(Long timeoutInSeconds) { + this.timeoutInSeconds = timeoutInSeconds; + return this; + } + + /** + * Get the syncIntervalInSeconds property: The interval at which to re-reconcile the cluster git repository source + * with the remote. + * + * @return the syncIntervalInSeconds value. + */ + public Long syncIntervalInSeconds() { + return this.syncIntervalInSeconds; + } + + /** + * Set the syncIntervalInSeconds property: The interval at which to re-reconcile the cluster git repository source + * with the remote. + * + * @param syncIntervalInSeconds the syncIntervalInSeconds value to set. + * @return the GitRepositoryDefinition object itself. + */ + public GitRepositoryDefinition withSyncIntervalInSeconds(Long syncIntervalInSeconds) { + this.syncIntervalInSeconds = syncIntervalInSeconds; + return this; + } + + /** + * Get the repositoryRef property: The source reference for the GitRepository object. + * + * @return the repositoryRef value. + */ + public RepositoryRefDefinition repositoryRef() { + return this.repositoryRef; + } + + /** + * Set the repositoryRef property: The source reference for the GitRepository object. + * + * @param repositoryRef the repositoryRef value to set. + * @return the GitRepositoryDefinition object itself. + */ + public GitRepositoryDefinition withRepositoryRef(RepositoryRefDefinition repositoryRef) { + this.repositoryRef = repositoryRef; + return this; + } + + /** + * Get the sshKnownHosts property: Base64-encoded known_hosts value containing public SSH keys required to access + * private git repositories over SSH. + * + * @return the sshKnownHosts value. + */ + public String sshKnownHosts() { + return this.sshKnownHosts; + } + + /** + * Set the sshKnownHosts property: Base64-encoded known_hosts value containing public SSH keys required to access + * private git repositories over SSH. + * + * @param sshKnownHosts the sshKnownHosts value to set. + * @return the GitRepositoryDefinition object itself. + */ + public GitRepositoryDefinition withSshKnownHosts(String sshKnownHosts) { + this.sshKnownHosts = sshKnownHosts; + return this; + } + + /** + * Get the httpsUser property: Plaintext HTTPS username used to access private git repositories over HTTPS. + * + * @return the httpsUser value. + */ + public String httpsUser() { + return this.httpsUser; + } + + /** + * Set the httpsUser property: Plaintext HTTPS username used to access private git repositories over HTTPS. + * + * @param httpsUser the httpsUser value to set. + * @return the GitRepositoryDefinition object itself. + */ + public GitRepositoryDefinition withHttpsUser(String httpsUser) { + this.httpsUser = httpsUser; + return this; + } + + /** + * Get the httpsCACert property: Base64-encoded HTTPS certificate authority contents used to access git private git + * repositories over HTTPS. + * + * @return the httpsCACert value. + */ + public String httpsCACert() { + return this.httpsCACert; + } + + /** + * Set the httpsCACert property: Base64-encoded HTTPS certificate authority contents used to access git private git + * repositories over HTTPS. + * + * @param httpsCACert the httpsCACert value to set. + * @return the GitRepositoryDefinition object itself. + */ + public GitRepositoryDefinition withHttpsCACert(String httpsCACert) { + this.httpsCACert = httpsCACert; + return this; + } + + /** + * Get the localAuthRef property: Name of a local secret on the Kubernetes cluster to use as the authentication + * secret rather than the managed or user-provided configuration secrets. + * + * @return the localAuthRef value. + */ + public String localAuthRef() { + return this.localAuthRef; + } + + /** + * Set the localAuthRef property: Name of a local secret on the Kubernetes cluster to use as the authentication + * secret rather than the managed or user-provided configuration secrets. + * + * @param localAuthRef the localAuthRef value to set. + * @return the GitRepositoryDefinition object itself. + */ + public GitRepositoryDefinition withLocalAuthRef(String localAuthRef) { + this.localAuthRef = localAuthRef; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (repositoryRef() != null) { + repositoryRef().validate(); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/GitRepositoryPatchDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/GitRepositoryPatchDefinition.java new file mode 100644 index 0000000000000..9b57bc572ec67 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/GitRepositoryPatchDefinition.java @@ -0,0 +1,252 @@ +// 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.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; + +/** Parameters to reconcile to the GitRepository source kind type. */ +@Fluent +public final class GitRepositoryPatchDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(GitRepositoryPatchDefinition.class); + + /* + * The URL to sync for the flux configuration git repository. + */ + @JsonProperty(value = "url") + private String url; + + /* + * The maximum time to attempt to reconcile the cluster git repository + * source with the remote. + */ + @JsonProperty(value = "timeoutInSeconds") + private Long timeoutInSeconds; + + /* + * The interval at which to re-reconcile the cluster git repository source + * with the remote. + */ + @JsonProperty(value = "syncIntervalInSeconds") + private Long syncIntervalInSeconds; + + /* + * The source reference for the GitRepository object. + */ + @JsonProperty(value = "repositoryRef") + private RepositoryRefDefinition repositoryRef; + + /* + * Base64-encoded known_hosts value containing public SSH keys required to + * access private git repositories over SSH + */ + @JsonProperty(value = "sshKnownHosts") + private String sshKnownHosts; + + /* + * Plaintext HTTPS username used to access private git repositories over + * HTTPS + */ + @JsonProperty(value = "httpsUser") + private String httpsUser; + + /* + * Base64-encoded HTTPS certificate authority contents used to access git + * private git repositories over HTTPS + */ + @JsonProperty(value = "httpsCACert") + private String httpsCACert; + + /* + * Name of a local secret on the Kubernetes cluster to use as the + * authentication secret rather than the managed or user-provided + * configuration secrets. + */ + @JsonProperty(value = "localAuthRef") + private String localAuthRef; + + /** + * Get the url property: The URL to sync for the flux configuration git repository. + * + * @return the url value. + */ + public String url() { + return this.url; + } + + /** + * Set the url property: The URL to sync for the flux configuration git repository. + * + * @param url the url value to set. + * @return the GitRepositoryPatchDefinition object itself. + */ + public GitRepositoryPatchDefinition withUrl(String url) { + this.url = url; + return this; + } + + /** + * Get the timeoutInSeconds property: The maximum time to attempt to reconcile the cluster git repository source + * with the remote. + * + * @return the timeoutInSeconds value. + */ + public Long timeoutInSeconds() { + return this.timeoutInSeconds; + } + + /** + * Set the timeoutInSeconds property: The maximum time to attempt to reconcile the cluster git repository source + * with the remote. + * + * @param timeoutInSeconds the timeoutInSeconds value to set. + * @return the GitRepositoryPatchDefinition object itself. + */ + public GitRepositoryPatchDefinition withTimeoutInSeconds(Long timeoutInSeconds) { + this.timeoutInSeconds = timeoutInSeconds; + return this; + } + + /** + * Get the syncIntervalInSeconds property: The interval at which to re-reconcile the cluster git repository source + * with the remote. + * + * @return the syncIntervalInSeconds value. + */ + public Long syncIntervalInSeconds() { + return this.syncIntervalInSeconds; + } + + /** + * Set the syncIntervalInSeconds property: The interval at which to re-reconcile the cluster git repository source + * with the remote. + * + * @param syncIntervalInSeconds the syncIntervalInSeconds value to set. + * @return the GitRepositoryPatchDefinition object itself. + */ + public GitRepositoryPatchDefinition withSyncIntervalInSeconds(Long syncIntervalInSeconds) { + this.syncIntervalInSeconds = syncIntervalInSeconds; + return this; + } + + /** + * Get the repositoryRef property: The source reference for the GitRepository object. + * + * @return the repositoryRef value. + */ + public RepositoryRefDefinition repositoryRef() { + return this.repositoryRef; + } + + /** + * Set the repositoryRef property: The source reference for the GitRepository object. + * + * @param repositoryRef the repositoryRef value to set. + * @return the GitRepositoryPatchDefinition object itself. + */ + public GitRepositoryPatchDefinition withRepositoryRef(RepositoryRefDefinition repositoryRef) { + this.repositoryRef = repositoryRef; + return this; + } + + /** + * Get the sshKnownHosts property: Base64-encoded known_hosts value containing public SSH keys required to access + * private git repositories over SSH. + * + * @return the sshKnownHosts value. + */ + public String sshKnownHosts() { + return this.sshKnownHosts; + } + + /** + * Set the sshKnownHosts property: Base64-encoded known_hosts value containing public SSH keys required to access + * private git repositories over SSH. + * + * @param sshKnownHosts the sshKnownHosts value to set. + * @return the GitRepositoryPatchDefinition object itself. + */ + public GitRepositoryPatchDefinition withSshKnownHosts(String sshKnownHosts) { + this.sshKnownHosts = sshKnownHosts; + return this; + } + + /** + * Get the httpsUser property: Plaintext HTTPS username used to access private git repositories over HTTPS. + * + * @return the httpsUser value. + */ + public String httpsUser() { + return this.httpsUser; + } + + /** + * Set the httpsUser property: Plaintext HTTPS username used to access private git repositories over HTTPS. + * + * @param httpsUser the httpsUser value to set. + * @return the GitRepositoryPatchDefinition object itself. + */ + public GitRepositoryPatchDefinition withHttpsUser(String httpsUser) { + this.httpsUser = httpsUser; + return this; + } + + /** + * Get the httpsCACert property: Base64-encoded HTTPS certificate authority contents used to access git private git + * repositories over HTTPS. + * + * @return the httpsCACert value. + */ + public String httpsCACert() { + return this.httpsCACert; + } + + /** + * Set the httpsCACert property: Base64-encoded HTTPS certificate authority contents used to access git private git + * repositories over HTTPS. + * + * @param httpsCACert the httpsCACert value to set. + * @return the GitRepositoryPatchDefinition object itself. + */ + public GitRepositoryPatchDefinition withHttpsCACert(String httpsCACert) { + this.httpsCACert = httpsCACert; + return this; + } + + /** + * Get the localAuthRef property: Name of a local secret on the Kubernetes cluster to use as the authentication + * secret rather than the managed or user-provided configuration secrets. + * + * @return the localAuthRef value. + */ + public String localAuthRef() { + return this.localAuthRef; + } + + /** + * Set the localAuthRef property: Name of a local secret on the Kubernetes cluster to use as the authentication + * secret rather than the managed or user-provided configuration secrets. + * + * @param localAuthRef the localAuthRef value to set. + * @return the GitRepositoryPatchDefinition object itself. + */ + public GitRepositoryPatchDefinition withLocalAuthRef(String localAuthRef) { + this.localAuthRef = localAuthRef; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (repositoryRef() != null) { + repositoryRef().validate(); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/HelmReleasePropertiesDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/HelmReleasePropertiesDefinition.java new file mode 100644 index 0000000000000..9ec9a45223ee0 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/HelmReleasePropertiesDefinition.java @@ -0,0 +1,158 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The HelmReleasePropertiesDefinition model. */ +@Fluent +public final class HelmReleasePropertiesDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(HelmReleasePropertiesDefinition.class); + + /* + * The revision number of the last released object change + */ + @JsonProperty(value = "lastRevisionApplied") + private Long lastRevisionApplied; + + /* + * The reference to the HelmChart object used as the source to this + * HelmRelease + */ + @JsonProperty(value = "helmChartRef") + private ObjectReferenceDefinition helmChartRef; + + /* + * Total number of times that the HelmRelease failed to install or upgrade + */ + @JsonProperty(value = "failureCount") + private Long failureCount; + + /* + * Number of times that the HelmRelease failed to install + */ + @JsonProperty(value = "installFailureCount") + private Long installFailureCount; + + /* + * Number of times that the HelmRelease failed to upgrade + */ + @JsonProperty(value = "upgradeFailureCount") + private Long upgradeFailureCount; + + /** + * Get the lastRevisionApplied property: The revision number of the last released object change. + * + * @return the lastRevisionApplied value. + */ + public Long lastRevisionApplied() { + return this.lastRevisionApplied; + } + + /** + * Set the lastRevisionApplied property: The revision number of the last released object change. + * + * @param lastRevisionApplied the lastRevisionApplied value to set. + * @return the HelmReleasePropertiesDefinition object itself. + */ + public HelmReleasePropertiesDefinition withLastRevisionApplied(Long lastRevisionApplied) { + this.lastRevisionApplied = lastRevisionApplied; + return this; + } + + /** + * Get the helmChartRef property: The reference to the HelmChart object used as the source to this HelmRelease. + * + * @return the helmChartRef value. + */ + public ObjectReferenceDefinition helmChartRef() { + return this.helmChartRef; + } + + /** + * Set the helmChartRef property: The reference to the HelmChart object used as the source to this HelmRelease. + * + * @param helmChartRef the helmChartRef value to set. + * @return the HelmReleasePropertiesDefinition object itself. + */ + public HelmReleasePropertiesDefinition withHelmChartRef(ObjectReferenceDefinition helmChartRef) { + this.helmChartRef = helmChartRef; + return this; + } + + /** + * Get the failureCount property: Total number of times that the HelmRelease failed to install or upgrade. + * + * @return the failureCount value. + */ + public Long failureCount() { + return this.failureCount; + } + + /** + * Set the failureCount property: Total number of times that the HelmRelease failed to install or upgrade. + * + * @param failureCount the failureCount value to set. + * @return the HelmReleasePropertiesDefinition object itself. + */ + public HelmReleasePropertiesDefinition withFailureCount(Long failureCount) { + this.failureCount = failureCount; + return this; + } + + /** + * Get the installFailureCount property: Number of times that the HelmRelease failed to install. + * + * @return the installFailureCount value. + */ + public Long installFailureCount() { + return this.installFailureCount; + } + + /** + * Set the installFailureCount property: Number of times that the HelmRelease failed to install. + * + * @param installFailureCount the installFailureCount value to set. + * @return the HelmReleasePropertiesDefinition object itself. + */ + public HelmReleasePropertiesDefinition withInstallFailureCount(Long installFailureCount) { + this.installFailureCount = installFailureCount; + return this; + } + + /** + * Get the upgradeFailureCount property: Number of times that the HelmRelease failed to upgrade. + * + * @return the upgradeFailureCount value. + */ + public Long upgradeFailureCount() { + return this.upgradeFailureCount; + } + + /** + * Set the upgradeFailureCount property: Number of times that the HelmRelease failed to upgrade. + * + * @param upgradeFailureCount the upgradeFailureCount value to set. + * @return the HelmReleasePropertiesDefinition object itself. + */ + public HelmReleasePropertiesDefinition withUpgradeFailureCount(Long upgradeFailureCount) { + this.upgradeFailureCount = upgradeFailureCount; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (helmChartRef() != null) { + helmChartRef().validate(); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/Identity.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/Identity.java new file mode 100644 index 0000000000000..80840b9bbfded --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/Identity.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.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; + +/** Identity for the resource. */ +@Fluent +public class Identity { + @JsonIgnore private final ClientLogger logger = new ClientLogger(Identity.class); + + /* + * The principal ID of resource identity. + */ + @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY) + private String principalId; + + /* + * The tenant ID of resource. + */ + @JsonProperty(value = "tenantId", access = JsonProperty.Access.WRITE_ONLY) + private String tenantId; + + /* + * The identity type. + */ + @JsonProperty(value = "type") + private ResourceIdentityType type; + + /** + * Get the principalId property: The principal ID of resource identity. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Get the tenantId property: The tenant ID of resource. + * + * @return the tenantId value. + */ + public String tenantId() { + return this.tenantId; + } + + /** + * Get the type property: The identity type. + * + * @return the type value. + */ + public ResourceIdentityType type() { + return this.type; + } + + /** + * Set the type property: The identity type. + * + * @param type the type value to set. + * @return the Identity object itself. + */ + public Identity withType(ResourceIdentityType type) { + this.type = type; + 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/models/KustomizationDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/KustomizationDefinition.java new file mode 100644 index 0000000000000..882361d2416f2 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/KustomizationDefinition.java @@ -0,0 +1,222 @@ +// 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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. */ +@Fluent +public final class KustomizationDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(KustomizationDefinition.class); + + /* + * The path in the source reference to reconcile on the cluster. + */ + @JsonProperty(value = "path") + private String path; + + /* + * Specifies other Kustomizations that this Kustomization depends on. This + * Kustomization will not reconcile until all dependencies have completed + * their reconciliation. + */ + @JsonProperty(value = "dependsOn") + private List dependsOn; + + /* + * The maximum time to attempt to reconcile the Kustomization on the + * cluster. + */ + @JsonProperty(value = "timeoutInSeconds") + private Long timeoutInSeconds; + + /* + * The interval at which to re-reconcile the Kustomization on the cluster. + */ + @JsonProperty(value = "syncIntervalInSeconds") + private Long syncIntervalInSeconds; + + /* + * The interval at which to re-reconcile the Kustomization on the cluster + * in the event of failure on reconciliation. + */ + @JsonProperty(value = "retryIntervalInSeconds") + private Long retryIntervalInSeconds; + + /* + * Enable/disable garbage collections of Kubernetes objects created by this + * Kustomization. + */ + @JsonProperty(value = "prune") + private Boolean prune; + + /* + * Enable/disable re-creating Kubernetes resources on the cluster when + * patching fails due to an immutable field change. + */ + @JsonProperty(value = "force") + private Boolean force; + + /** + * Get the path property: The path in the source reference to reconcile on the cluster. + * + * @return the path value. + */ + public String path() { + return this.path; + } + + /** + * Set the path property: The path in the source reference to reconcile on the cluster. + * + * @param path the path value to set. + * @return the KustomizationDefinition object itself. + */ + public KustomizationDefinition withPath(String path) { + this.path = path; + return this; + } + + /** + * Get the dependsOn property: Specifies other Kustomizations that this Kustomization depends on. This Kustomization + * will not reconcile until all dependencies have completed their reconciliation. + * + * @return the dependsOn value. + */ + public List dependsOn() { + return this.dependsOn; + } + + /** + * Set the dependsOn property: Specifies other Kustomizations that this Kustomization depends on. This Kustomization + * will not reconcile until all dependencies have completed their reconciliation. + * + * @param dependsOn the dependsOn value to set. + * @return the KustomizationDefinition object itself. + */ + public KustomizationDefinition withDependsOn(List dependsOn) { + this.dependsOn = dependsOn; + return this; + } + + /** + * Get the timeoutInSeconds property: The maximum time to attempt to reconcile the Kustomization on the cluster. + * + * @return the timeoutInSeconds value. + */ + public Long timeoutInSeconds() { + return this.timeoutInSeconds; + } + + /** + * Set the timeoutInSeconds property: The maximum time to attempt to reconcile the Kustomization on the cluster. + * + * @param timeoutInSeconds the timeoutInSeconds value to set. + * @return the KustomizationDefinition object itself. + */ + public KustomizationDefinition withTimeoutInSeconds(Long timeoutInSeconds) { + this.timeoutInSeconds = timeoutInSeconds; + return this; + } + + /** + * Get the syncIntervalInSeconds property: The interval at which to re-reconcile the Kustomization on the cluster. + * + * @return the syncIntervalInSeconds value. + */ + public Long syncIntervalInSeconds() { + return this.syncIntervalInSeconds; + } + + /** + * Set the syncIntervalInSeconds property: The interval at which to re-reconcile the Kustomization on the cluster. + * + * @param syncIntervalInSeconds the syncIntervalInSeconds value to set. + * @return the KustomizationDefinition object itself. + */ + public KustomizationDefinition withSyncIntervalInSeconds(Long syncIntervalInSeconds) { + this.syncIntervalInSeconds = syncIntervalInSeconds; + return this; + } + + /** + * Get the retryIntervalInSeconds property: The interval at which to re-reconcile the Kustomization on the cluster + * in the event of failure on reconciliation. + * + * @return the retryIntervalInSeconds value. + */ + public Long retryIntervalInSeconds() { + return this.retryIntervalInSeconds; + } + + /** + * Set the retryIntervalInSeconds property: The interval at which to re-reconcile the Kustomization on the cluster + * in the event of failure on reconciliation. + * + * @param retryIntervalInSeconds the retryIntervalInSeconds value to set. + * @return the KustomizationDefinition object itself. + */ + public KustomizationDefinition withRetryIntervalInSeconds(Long retryIntervalInSeconds) { + this.retryIntervalInSeconds = retryIntervalInSeconds; + return this; + } + + /** + * Get the prune property: Enable/disable garbage collections of Kubernetes objects created by this Kustomization. + * + * @return the prune value. + */ + public Boolean prune() { + return this.prune; + } + + /** + * Set the prune property: Enable/disable garbage collections of Kubernetes objects created by this Kustomization. + * + * @param prune the prune value to set. + * @return the KustomizationDefinition object itself. + */ + public KustomizationDefinition withPrune(Boolean prune) { + this.prune = prune; + return this; + } + + /** + * Get the force property: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to + * an immutable field change. + * + * @return the force value. + */ + public Boolean force() { + return this.force; + } + + /** + * Set the force property: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to + * an immutable field change. + * + * @param force the force value to set. + * @return the KustomizationDefinition object itself. + */ + public KustomizationDefinition withForce(Boolean force) { + this.force = force; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (dependsOn() != null) { + dependsOn().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/KustomizationPatchDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/KustomizationPatchDefinition.java new file mode 100644 index 0000000000000..bab438f39d107 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/KustomizationPatchDefinition.java @@ -0,0 +1,222 @@ +// 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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. */ +@Fluent +public final class KustomizationPatchDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(KustomizationPatchDefinition.class); + + /* + * The path in the source reference to reconcile on the cluster. + */ + @JsonProperty(value = "path") + private String path; + + /* + * Specifies other Kustomizations that this Kustomization depends on. This + * Kustomization will not reconcile until all dependencies have completed + * their reconciliation. + */ + @JsonProperty(value = "dependsOn") + private List dependsOn; + + /* + * The maximum time to attempt to reconcile the Kustomization on the + * cluster. + */ + @JsonProperty(value = "timeoutInSeconds") + private Long timeoutInSeconds; + + /* + * The interval at which to re-reconcile the Kustomization on the cluster. + */ + @JsonProperty(value = "syncIntervalInSeconds") + private Long syncIntervalInSeconds; + + /* + * The interval at which to re-reconcile the Kustomization on the cluster + * in the event of failure on reconciliation. + */ + @JsonProperty(value = "retryIntervalInSeconds") + private Long retryIntervalInSeconds; + + /* + * Enable/disable garbage collections of Kubernetes objects created by this + * Kustomization. + */ + @JsonProperty(value = "prune") + private Boolean prune; + + /* + * Enable/disable re-creating Kubernetes resources on the cluster when + * patching fails due to an immutable field change. + */ + @JsonProperty(value = "force") + private Boolean force; + + /** + * Get the path property: The path in the source reference to reconcile on the cluster. + * + * @return the path value. + */ + public String path() { + return this.path; + } + + /** + * Set the path property: The path in the source reference to reconcile on the cluster. + * + * @param path the path value to set. + * @return the KustomizationPatchDefinition object itself. + */ + public KustomizationPatchDefinition withPath(String path) { + this.path = path; + return this; + } + + /** + * Get the dependsOn property: Specifies other Kustomizations that this Kustomization depends on. This Kustomization + * will not reconcile until all dependencies have completed their reconciliation. + * + * @return the dependsOn value. + */ + public List dependsOn() { + return this.dependsOn; + } + + /** + * Set the dependsOn property: Specifies other Kustomizations that this Kustomization depends on. This Kustomization + * will not reconcile until all dependencies have completed their reconciliation. + * + * @param dependsOn the dependsOn value to set. + * @return the KustomizationPatchDefinition object itself. + */ + public KustomizationPatchDefinition withDependsOn(List dependsOn) { + this.dependsOn = dependsOn; + return this; + } + + /** + * Get the timeoutInSeconds property: The maximum time to attempt to reconcile the Kustomization on the cluster. + * + * @return the timeoutInSeconds value. + */ + public Long timeoutInSeconds() { + return this.timeoutInSeconds; + } + + /** + * Set the timeoutInSeconds property: The maximum time to attempt to reconcile the Kustomization on the cluster. + * + * @param timeoutInSeconds the timeoutInSeconds value to set. + * @return the KustomizationPatchDefinition object itself. + */ + public KustomizationPatchDefinition withTimeoutInSeconds(Long timeoutInSeconds) { + this.timeoutInSeconds = timeoutInSeconds; + return this; + } + + /** + * Get the syncIntervalInSeconds property: The interval at which to re-reconcile the Kustomization on the cluster. + * + * @return the syncIntervalInSeconds value. + */ + public Long syncIntervalInSeconds() { + return this.syncIntervalInSeconds; + } + + /** + * Set the syncIntervalInSeconds property: The interval at which to re-reconcile the Kustomization on the cluster. + * + * @param syncIntervalInSeconds the syncIntervalInSeconds value to set. + * @return the KustomizationPatchDefinition object itself. + */ + public KustomizationPatchDefinition withSyncIntervalInSeconds(Long syncIntervalInSeconds) { + this.syncIntervalInSeconds = syncIntervalInSeconds; + return this; + } + + /** + * Get the retryIntervalInSeconds property: The interval at which to re-reconcile the Kustomization on the cluster + * in the event of failure on reconciliation. + * + * @return the retryIntervalInSeconds value. + */ + public Long retryIntervalInSeconds() { + return this.retryIntervalInSeconds; + } + + /** + * Set the retryIntervalInSeconds property: The interval at which to re-reconcile the Kustomization on the cluster + * in the event of failure on reconciliation. + * + * @param retryIntervalInSeconds the retryIntervalInSeconds value to set. + * @return the KustomizationPatchDefinition object itself. + */ + public KustomizationPatchDefinition withRetryIntervalInSeconds(Long retryIntervalInSeconds) { + this.retryIntervalInSeconds = retryIntervalInSeconds; + return this; + } + + /** + * Get the prune property: Enable/disable garbage collections of Kubernetes objects created by this Kustomization. + * + * @return the prune value. + */ + public Boolean prune() { + return this.prune; + } + + /** + * Set the prune property: Enable/disable garbage collections of Kubernetes objects created by this Kustomization. + * + * @param prune the prune value to set. + * @return the KustomizationPatchDefinition object itself. + */ + public KustomizationPatchDefinition withPrune(Boolean prune) { + this.prune = prune; + return this; + } + + /** + * Get the force property: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to + * an immutable field change. + * + * @return the force value. + */ + public Boolean force() { + return this.force; + } + + /** + * Set the force property: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to + * an immutable field change. + * + * @param force the force value to set. + * @return the KustomizationPatchDefinition object itself. + */ + public KustomizationPatchDefinition withForce(Boolean force) { + this.force = force; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (dependsOn() != null) { + dependsOn().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/LevelType.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/LevelType.java new file mode 100644 index 0000000000000..45628120dca83 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/LevelType.java @@ -0,0 +1,37 @@ +// 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.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for LevelType. */ +public final class LevelType extends ExpandableStringEnum { + /** Static value Error for LevelType. */ + public static final LevelType ERROR = fromString("Error"); + + /** Static value Warning for LevelType. */ + public static final LevelType WARNING = fromString("Warning"); + + /** Static value Information for LevelType. */ + public static final LevelType INFORMATION = fromString("Information"); + + /** + * Creates or finds a LevelType from its string representation. + * + * @param name a name to look for. + * @return the corresponding LevelType. + */ + @JsonCreator + public static LevelType fromString(String name) { + return fromString(name, LevelType.class); + } + + /** @return known LevelType values. */ + public static Collection values() { + return values(LevelType.class); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/LocationExtensionTypes.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/LocationExtensionTypes.java new file mode 100644 index 0000000000000..7395962a789d8 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/LocationExtensionTypes.java @@ -0,0 +1,34 @@ +// 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.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of LocationExtensionTypes. */ +public interface LocationExtensionTypes { + /** + * 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. + */ + 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. + */ + PagedIterable list(String location, Context context); +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ObjectReferenceDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ObjectReferenceDefinition.java new file mode 100644 index 0000000000000..1593ebf3051cd --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ObjectReferenceDefinition.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.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; + +/** Object reference to a Kubernetes object on a cluster. */ +@Fluent +public final class ObjectReferenceDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ObjectReferenceDefinition.class); + + /* + * Name of the object + */ + @JsonProperty(value = "name") + private String name; + + /* + * Namespace of the object + */ + @JsonProperty(value = "namespace") + private String namespace; + + /** + * Get the name property: Name of the object. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Set the name property: Name of the object. + * + * @param name the name value to set. + * @return the ObjectReferenceDefinition object itself. + */ + public ObjectReferenceDefinition withName(String name) { + this.name = name; + return this; + } + + /** + * Get the namespace property: Namespace of the object. + * + * @return the namespace value. + */ + public String namespace() { + return this.namespace; + } + + /** + * Set the namespace property: Namespace of the object. + * + * @param namespace the namespace value to set. + * @return the ObjectReferenceDefinition object itself. + */ + public ObjectReferenceDefinition withNamespace(String namespace) { + this.namespace = namespace; + 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/models/ObjectStatusConditionDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ObjectStatusConditionDefinition.java new file mode 100644 index 0000000000000..747feb7201845 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ObjectStatusConditionDefinition.java @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Status condition of Kubernetes object. */ +@Fluent +public final class ObjectStatusConditionDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ObjectStatusConditionDefinition.class); + + /* + * Last time this status condition has changed + */ + @JsonProperty(value = "lastTransitionTime") + private OffsetDateTime lastTransitionTime; + + /* + * A more verbose description of the object status condition + */ + @JsonProperty(value = "message") + private String message; + + /* + * Reason for the specified status condition type status + */ + @JsonProperty(value = "reason") + private String reason; + + /* + * Status of the Kubernetes object condition type + */ + @JsonProperty(value = "status") + private String status; + + /* + * Object status condition type for this object + */ + @JsonProperty(value = "type") + private String type; + + /** + * Get the lastTransitionTime property: Last time this status condition has changed. + * + * @return the lastTransitionTime value. + */ + public OffsetDateTime lastTransitionTime() { + return this.lastTransitionTime; + } + + /** + * Set the lastTransitionTime property: Last time this status condition has changed. + * + * @param lastTransitionTime the lastTransitionTime value to set. + * @return the ObjectStatusConditionDefinition object itself. + */ + public ObjectStatusConditionDefinition withLastTransitionTime(OffsetDateTime lastTransitionTime) { + this.lastTransitionTime = lastTransitionTime; + return this; + } + + /** + * Get the message property: A more verbose description of the object status condition. + * + * @return the message value. + */ + public String message() { + return this.message; + } + + /** + * Set the message property: A more verbose description of the object status condition. + * + * @param message the message value to set. + * @return the ObjectStatusConditionDefinition object itself. + */ + public ObjectStatusConditionDefinition withMessage(String message) { + this.message = message; + return this; + } + + /** + * Get the reason property: Reason for the specified status condition type status. + * + * @return the reason value. + */ + public String reason() { + return this.reason; + } + + /** + * Set the reason property: Reason for the specified status condition type status. + * + * @param reason the reason value to set. + * @return the ObjectStatusConditionDefinition object itself. + */ + public ObjectStatusConditionDefinition withReason(String reason) { + this.reason = reason; + return this; + } + + /** + * Get the status property: Status of the Kubernetes object condition type. + * + * @return the status value. + */ + public String status() { + return this.status; + } + + /** + * Set the status property: Status of the Kubernetes object condition type. + * + * @param status the status value to set. + * @return the ObjectStatusConditionDefinition object itself. + */ + public ObjectStatusConditionDefinition withStatus(String status) { + this.status = status; + return this; + } + + /** + * Get the type property: Object status condition type for this object. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Set the type property: Object status condition type for this object. + * + * @param type the type value to set. + * @return the ObjectStatusConditionDefinition object itself. + */ + public ObjectStatusConditionDefinition withType(String type) { + this.type = type; + 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/models/ObjectStatusDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ObjectStatusDefinition.java new file mode 100644 index 0000000000000..968fccf1305b9 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ObjectStatusDefinition.java @@ -0,0 +1,222 @@ +// 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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Statuses of objects deployed by the user-specified kustomizations from the git repository. */ +@Fluent +public final class ObjectStatusDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ObjectStatusDefinition.class); + + /* + * Name of the applied object + */ + @JsonProperty(value = "name") + private String name; + + /* + * Namespace of the applied object + */ + @JsonProperty(value = "namespace") + private String namespace; + + /* + * Kind of the applied object + */ + @JsonProperty(value = "kind") + private String kind; + + /* + * Compliance state of the applied object showing whether the applied + * object has come into a ready state on the cluster. + */ + @JsonProperty(value = "complianceState") + private FluxComplianceState complianceState; + + /* + * Object reference to the Kustomization that applied this object + */ + @JsonProperty(value = "appliedBy") + private ObjectReferenceDefinition appliedBy; + + /* + * List of Kubernetes object status conditions present on the cluster + */ + @JsonProperty(value = "statusConditions") + private List statusConditions; + + /* + * Additional properties that are provided from objects of the HelmRelease + * kind + */ + @JsonProperty(value = "helmReleaseProperties") + private HelmReleasePropertiesDefinition helmReleaseProperties; + + /** + * Get the name property: Name of the applied object. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Set the name property: Name of the applied object. + * + * @param name the name value to set. + * @return the ObjectStatusDefinition object itself. + */ + public ObjectStatusDefinition withName(String name) { + this.name = name; + return this; + } + + /** + * Get the namespace property: Namespace of the applied object. + * + * @return the namespace value. + */ + public String namespace() { + return this.namespace; + } + + /** + * Set the namespace property: Namespace of the applied object. + * + * @param namespace the namespace value to set. + * @return the ObjectStatusDefinition object itself. + */ + public ObjectStatusDefinition withNamespace(String namespace) { + this.namespace = namespace; + return this; + } + + /** + * Get the kind property: Kind of the applied object. + * + * @return the kind value. + */ + public String kind() { + return this.kind; + } + + /** + * Set the kind property: Kind of the applied object. + * + * @param kind the kind value to set. + * @return the ObjectStatusDefinition object itself. + */ + public ObjectStatusDefinition withKind(String kind) { + this.kind = kind; + return this; + } + + /** + * Get the complianceState property: Compliance state of the applied object showing whether the applied object has + * come into a ready state on the cluster. + * + * @return the complianceState value. + */ + public FluxComplianceState complianceState() { + return this.complianceState; + } + + /** + * Set the complianceState property: Compliance state of the applied object showing whether the applied object has + * come into a ready state on the cluster. + * + * @param complianceState the complianceState value to set. + * @return the ObjectStatusDefinition object itself. + */ + public ObjectStatusDefinition withComplianceState(FluxComplianceState complianceState) { + this.complianceState = complianceState; + return this; + } + + /** + * Get the appliedBy property: Object reference to the Kustomization that applied this object. + * + * @return the appliedBy value. + */ + public ObjectReferenceDefinition appliedBy() { + return this.appliedBy; + } + + /** + * Set the appliedBy property: Object reference to the Kustomization that applied this object. + * + * @param appliedBy the appliedBy value to set. + * @return the ObjectStatusDefinition object itself. + */ + public ObjectStatusDefinition withAppliedBy(ObjectReferenceDefinition appliedBy) { + this.appliedBy = appliedBy; + return this; + } + + /** + * Get the statusConditions property: List of Kubernetes object status conditions present on the cluster. + * + * @return the statusConditions value. + */ + public List statusConditions() { + return this.statusConditions; + } + + /** + * Set the statusConditions property: List of Kubernetes object status conditions present on the cluster. + * + * @param statusConditions the statusConditions value to set. + * @return the ObjectStatusDefinition object itself. + */ + public ObjectStatusDefinition withStatusConditions(List statusConditions) { + this.statusConditions = statusConditions; + return this; + } + + /** + * Get the helmReleaseProperties property: Additional properties that are provided from objects of the HelmRelease + * kind. + * + * @return the helmReleaseProperties value. + */ + public HelmReleasePropertiesDefinition helmReleaseProperties() { + return this.helmReleaseProperties; + } + + /** + * Set the helmReleaseProperties property: Additional properties that are provided from objects of the HelmRelease + * kind. + * + * @param helmReleaseProperties the helmReleaseProperties value to set. + * @return the ObjectStatusDefinition object itself. + */ + public ObjectStatusDefinition withHelmReleaseProperties(HelmReleasePropertiesDefinition helmReleaseProperties) { + this.helmReleaseProperties = helmReleaseProperties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (appliedBy() != null) { + appliedBy().validate(); + } + if (statusConditions() != null) { + statusConditions().forEach(e -> e.validate()); + } + if (helmReleaseProperties() != null) { + helmReleaseProperties().validate(); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/OperationStatus.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/OperationStatus.java new file mode 100644 index 0000000000000..fe8eb31d2feb4 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/OperationStatus.java @@ -0,0 +1,104 @@ +// 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.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of OperationStatus. */ +public interface OperationStatus { + /** + * 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. + */ + OperationStatusResult 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. + */ + 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. + */ + 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. + */ + 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/models/OperationStatusList.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/OperationStatusList.java new file mode 100644 index 0000000000000..03644581b3d04 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/OperationStatusList.java @@ -0,0 +1,59 @@ +// 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.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.OperationStatusResultInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The async operations in progress, in the cluster. */ +@Immutable +public final class OperationStatusList { + @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationStatusList.class); + + /* + * List of async operations in progress, in the cluster. + */ + @JsonProperty(value = "value", access = JsonProperty.Access.WRITE_ONLY) + private List value; + + /* + * URL to get the next set of Operation Result objects, if any. + */ + @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY) + private String nextLink; + + /** + * Get the value property: List of async operations in progress, in the cluster. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Get the nextLink property: URL to get the next set of Operation Result objects, if any. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/OperationStatusResult.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/OperationStatusResult.java new file mode 100644 index 0000000000000..c691ace343a69 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/OperationStatusResult.java @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +import com.azure.core.management.exception.ManagementError; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.OperationStatusResultInner; +import java.util.Map; + +/** An immutable client-side representation of OperationStatusResult. */ +public interface OperationStatusResult { + /** + * Gets the id property: Fully qualified ID for the async operation. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: Name of the async operation. + * + * @return the name value. + */ + String name(); + + /** + * Gets the status property: Operation status. + * + * @return the status value. + */ + String status(); + + /** + * Gets the properties property: Additional information, if available. + * + * @return the properties value. + */ + Map properties(); + + /** + * Gets the error property: If present, details of the operation error. + * + * @return the error value. + */ + ManagementError error(); + + /** + * Gets the inner com.azure.resourcemanager.kubernetesconfiguration.fluent.models.OperationStatusResultInner object. + * + * @return the inner object. + */ + OperationStatusResultInner innerModel(); +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/PatchExtension.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/PatchExtension.java new file mode 100644 index 0000000000000..b366ce1d3b3a5 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/PatchExtension.java @@ -0,0 +1,169 @@ +// 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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.kubernetesconfiguration.fluent.models.PatchExtensionProperties; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** The Extension Patch Request object. */ +@Fluent +public final class PatchExtension { + @JsonIgnore private final ClientLogger logger = new ClientLogger(PatchExtension.class); + + /* + * Updatable properties of an Extension Patch Request + */ + @JsonProperty(value = "properties") + private PatchExtensionProperties innerProperties; + + /** + * Get the innerProperties property: Updatable properties of an Extension Patch Request. + * + * @return the innerProperties value. + */ + private PatchExtensionProperties innerProperties() { + return this.innerProperties; + } + + /** + * 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 PatchExtension object itself. + */ + public PatchExtension withAutoUpgradeMinorVersion(Boolean autoUpgradeMinorVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new PatchExtensionProperties(); + } + 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 PatchExtension object itself. + */ + public PatchExtension withReleaseTrain(String releaseTrain) { + if (this.innerProperties() == null) { + this.innerProperties = new PatchExtensionProperties(); + } + 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 PatchExtension object itself. + */ + public PatchExtension withVersion(String version) { + if (this.innerProperties() == null) { + this.innerProperties = new PatchExtensionProperties(); + } + this.innerProperties().withVersion(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.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 PatchExtension object itself. + */ + public PatchExtension withConfigurationSettings(Map configurationSettings) { + if (this.innerProperties() == null) { + this.innerProperties = new PatchExtensionProperties(); + } + 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 PatchExtension object itself. + */ + public PatchExtension withConfigurationProtectedSettings(Map configurationProtectedSettings) { + if (this.innerProperties() == null) { + this.innerProperties = new PatchExtensionProperties(); + } + this.innerProperties().withConfigurationProtectedSettings(configurationProtectedSettings); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ProvisioningState.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ProvisioningState.java new file mode 100644 index 0000000000000..814f95bc64c07 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ProvisioningState.java @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for ProvisioningState. */ +public final class ProvisioningState extends ExpandableStringEnum { + /** Static value Succeeded for ProvisioningState. */ + public static final ProvisioningState SUCCEEDED = fromString("Succeeded"); + + /** Static value Failed for ProvisioningState. */ + public static final ProvisioningState FAILED = fromString("Failed"); + + /** Static value Canceled for ProvisioningState. */ + public static final ProvisioningState CANCELED = fromString("Canceled"); + + /** Static value Creating for ProvisioningState. */ + public static final ProvisioningState CREATING = fromString("Creating"); + + /** Static value Updating for ProvisioningState. */ + public static final ProvisioningState UPDATING = fromString("Updating"); + + /** Static value Deleting for ProvisioningState. */ + public static final ProvisioningState DELETING = fromString("Deleting"); + + /** + * Creates or finds a ProvisioningState from its string representation. + * + * @param name a name to look for. + * @return the corresponding ProvisioningState. + */ + @JsonCreator + public static ProvisioningState fromString(String name) { + return fromString(name, ProvisioningState.class); + } + + /** @return known ProvisioningState values. */ + public static Collection values() { + return values(ProvisioningState.class); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/RepositoryRefDefinition.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/RepositoryRefDefinition.java new file mode 100644 index 0000000000000..732a1cfaf73c2 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/RepositoryRefDefinition.java @@ -0,0 +1,135 @@ +// 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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The source reference for the GitRepository object. */ +@Fluent +public final class RepositoryRefDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RepositoryRefDefinition.class); + + /* + * The git repository branch name to checkout. + */ + @JsonProperty(value = "branch") + private String branch; + + /* + * The git repository tag name to checkout. This takes precedence over + * branch. + */ + @JsonProperty(value = "tag") + private String tag; + + /* + * The semver range used to match against git repository tags. This takes + * precedence over tag. + */ + @JsonProperty(value = "semver") + private String semver; + + /* + * The commit SHA to checkout. This value must be combined with the branch + * name to be valid. This takes precedence over semver. + */ + @JsonProperty(value = "commit") + private String commit; + + /** + * Get the branch property: The git repository branch name to checkout. + * + * @return the branch value. + */ + public String branch() { + return this.branch; + } + + /** + * Set the branch property: The git repository branch name to checkout. + * + * @param branch the branch value to set. + * @return the RepositoryRefDefinition object itself. + */ + public RepositoryRefDefinition withBranch(String branch) { + this.branch = branch; + return this; + } + + /** + * Get the tag property: The git repository tag name to checkout. This takes precedence over branch. + * + * @return the tag value. + */ + public String tag() { + return this.tag; + } + + /** + * Set the tag property: The git repository tag name to checkout. This takes precedence over branch. + * + * @param tag the tag value to set. + * @return the RepositoryRefDefinition object itself. + */ + public RepositoryRefDefinition withTag(String tag) { + this.tag = tag; + return this; + } + + /** + * Get the semver property: The semver range used to match against git repository tags. This takes precedence over + * tag. + * + * @return the semver value. + */ + public String semver() { + return this.semver; + } + + /** + * Set the semver property: The semver range used to match against git repository tags. This takes precedence over + * tag. + * + * @param semver the semver value to set. + * @return the RepositoryRefDefinition object itself. + */ + public RepositoryRefDefinition withSemver(String semver) { + this.semver = semver; + return this; + } + + /** + * Get the commit property: The commit SHA to checkout. This value must be combined with the branch name to be + * valid. This takes precedence over semver. + * + * @return the commit value. + */ + public String commit() { + return this.commit; + } + + /** + * Set the commit property: The commit SHA to checkout. This value must be combined with the branch name to be + * valid. This takes precedence over semver. + * + * @param commit the commit value to set. + * @return the RepositoryRefDefinition object itself. + */ + public RepositoryRefDefinition withCommit(String commit) { + this.commit = commit; + 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/models/ResourceIdentityType.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ResourceIdentityType.java new file mode 100644 index 0000000000000..9b2c1ff1c2841 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ResourceIdentityType.java @@ -0,0 +1,44 @@ +// 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.models; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** Defines values for ResourceIdentityType. */ +public enum ResourceIdentityType { + /** Enum value SystemAssigned. */ + SYSTEM_ASSIGNED("SystemAssigned"); + + /** The actual serialized value for a ResourceIdentityType instance. */ + private final String value; + + ResourceIdentityType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a ResourceIdentityType instance. + * + * @param value the serialized value to parse. + * @return the parsed ResourceIdentityType object, or null if unable to parse. + */ + @JsonCreator + public static ResourceIdentityType fromString(String value) { + ResourceIdentityType[] items = ResourceIdentityType.values(); + for (ResourceIdentityType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + @JsonValue + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ResourceProviderOperation.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ResourceProviderOperation.java index 6121074ccac1e..bcc37931167f7 100644 --- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ResourceProviderOperation.java +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ResourceProviderOperation.java @@ -29,6 +29,13 @@ public interface ResourceProviderOperation { */ Boolean isDataAction(); + /** + * Gets the origin property: Origin of the operation. + * + * @return the origin value. + */ + String origin(); + /** * Gets the inner com.azure.resourcemanager.kubernetesconfiguration.fluent.models.ResourceProviderOperationInner * object. diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/Scope.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/Scope.java new file mode 100644 index 0000000000000..8fb3e61e59a49 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/Scope.java @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.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; + +/** Scope of the extension. It can be either Cluster or Namespace; but not both. */ +@Fluent +public final class Scope { + @JsonIgnore private final ClientLogger logger = new ClientLogger(Scope.class); + + /* + * Specifies that the scope of the extension is Cluster + */ + @JsonProperty(value = "cluster") + private ScopeCluster cluster; + + /* + * Specifies that the scope of the extension is Namespace + */ + @JsonProperty(value = "namespace") + private ScopeNamespace namespace; + + /** + * Get the cluster property: Specifies that the scope of the extension is Cluster. + * + * @return the cluster value. + */ + public ScopeCluster cluster() { + return this.cluster; + } + + /** + * Set the cluster property: Specifies that the scope of the extension is Cluster. + * + * @param cluster the cluster value to set. + * @return the Scope object itself. + */ + public Scope withCluster(ScopeCluster cluster) { + this.cluster = cluster; + return this; + } + + /** + * Get the namespace property: Specifies that the scope of the extension is Namespace. + * + * @return the namespace value. + */ + public ScopeNamespace namespace() { + return this.namespace; + } + + /** + * Set the namespace property: Specifies that the scope of the extension is Namespace. + * + * @param namespace the namespace value to set. + * @return the Scope object itself. + */ + public Scope withNamespace(ScopeNamespace namespace) { + this.namespace = namespace; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (cluster() != null) { + cluster().validate(); + } + if (namespace() != null) { + namespace().validate(); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ScopeCluster.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ScopeCluster.java new file mode 100644 index 0000000000000..21cbad96ea18a --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ScopeCluster.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.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; + +/** Specifies that the scope of the extension is Cluster. */ +@Fluent +public final class ScopeCluster { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ScopeCluster.class); + + /* + * Namespace where the extension Release must be placed, for a Cluster + * scoped extension. If this namespace does not exist, it will be created + */ + @JsonProperty(value = "releaseNamespace") + private String releaseNamespace; + + /** + * Get the releaseNamespace property: Namespace where the extension Release must be placed, for a Cluster scoped + * extension. If this namespace does not exist, it will be created. + * + * @return the releaseNamespace value. + */ + public String releaseNamespace() { + return this.releaseNamespace; + } + + /** + * Set the releaseNamespace property: Namespace where the extension Release must be placed, for a Cluster scoped + * extension. If this namespace does not exist, it will be created. + * + * @param releaseNamespace the releaseNamespace value to set. + * @return the ScopeCluster object itself. + */ + public ScopeCluster withReleaseNamespace(String releaseNamespace) { + this.releaseNamespace = releaseNamespace; + 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/models/ScopeNamespace.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ScopeNamespace.java new file mode 100644 index 0000000000000..6acc69c102172 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ScopeNamespace.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.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; + +/** Specifies that the scope of the extension is Namespace. */ +@Fluent +public final class ScopeNamespace { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ScopeNamespace.class); + + /* + * Namespace where the extension will be created for an Namespace scoped + * extension. If this namespace does not exist, it will be created + */ + @JsonProperty(value = "targetNamespace") + private String targetNamespace; + + /** + * Get the targetNamespace property: Namespace where the extension will be created for an Namespace scoped + * extension. If this namespace does not exist, it will be created. + * + * @return the targetNamespace value. + */ + public String targetNamespace() { + return this.targetNamespace; + } + + /** + * Set the targetNamespace property: Namespace where the extension will be created for an Namespace scoped + * extension. If this namespace does not exist, it will be created. + * + * @param targetNamespace the targetNamespace value to set. + * @return the ScopeNamespace object itself. + */ + public ScopeNamespace withTargetNamespace(String targetNamespace) { + this.targetNamespace = targetNamespace; + 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/models/ScopeType.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ScopeType.java new file mode 100644 index 0000000000000..9e35c0b620612 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/ScopeType.java @@ -0,0 +1,34 @@ +// 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.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for ScopeType. */ +public final class ScopeType extends ExpandableStringEnum { + /** Static value cluster for ScopeType. */ + public static final ScopeType CLUSTER = fromString("cluster"); + + /** Static value namespace for ScopeType. */ + public static final ScopeType NAMESPACE = fromString("namespace"); + + /** + * Creates or finds a ScopeType from its string representation. + * + * @param name a name to look for. + * @return the corresponding ScopeType. + */ + @JsonCreator + public static ScopeType fromString(String name) { + return fromString(name, ScopeType.class); + } + + /** @return known ScopeType values. */ + public static Collection values() { + return values(ScopeType.class); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceControlConfigurations.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceControlConfigurations.java index caf2d5294bdbd..2aafd33a39c55 100644 --- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceControlConfigurations.java +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceControlConfigurations.java @@ -14,7 +14,7 @@ public interface SourceControlConfigurations { /** * 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 @@ -28,15 +28,15 @@ public interface SourceControlConfigurations { */ SourceControlConfiguration 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 @@ -51,8 +51,8 @@ SourceControlConfiguration get( */ Response getWithResponse( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context); @@ -60,7 +60,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 @@ -75,8 +75,8 @@ Response getWithResponse( */ SourceControlConfiguration createOrUpdate( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, SourceControlConfigurationInner sourceControlConfiguration); @@ -84,7 +84,7 @@ SourceControlConfiguration 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 @@ -100,8 +100,8 @@ SourceControlConfiguration createOrUpdate( */ Response createOrUpdateWithResponse( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, SourceControlConfigurationInner sourceControlConfiguration, @@ -111,7 +111,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 @@ -124,8 +124,8 @@ Response createOrUpdateWithResponse( */ void delete( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName); @@ -133,7 +133,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 @@ -147,8 +147,8 @@ void delete( */ void delete( String resourceGroupName, - SourceControlConfigurationsClusterRp clusterRp, - SourceControlConfigurationsClusterResourceName clusterResourceName, + ClusterExtensionTypeClusterRp clusterRp, + ClusterExtensionTypeClusterResourceName clusterResourceName, String clusterName, String sourceControlConfigurationName, Context context); @@ -156,7 +156,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 @@ -169,14 +169,14 @@ void delete( */ 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 @@ -190,8 +190,8 @@ PagedIterable list( */ 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/models/SourceControlConfigurationsClusterResourceName.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceControlConfigurationsClusterResourceName.java deleted file mode 100644 index 6541e224413c1..0000000000000 --- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceControlConfigurationsClusterResourceName.java +++ /dev/null @@ -1,36 +0,0 @@ -// 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.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for SourceControlConfigurationsClusterResourceName. */ -public final class SourceControlConfigurationsClusterResourceName - extends ExpandableStringEnum { - /** Static value managedClusters for SourceControlConfigurationsClusterResourceName. */ - public static final SourceControlConfigurationsClusterResourceName MANAGED_CLUSTERS = fromString("managedClusters"); - - /** Static value connectedClusters for SourceControlConfigurationsClusterResourceName. */ - public static final SourceControlConfigurationsClusterResourceName CONNECTED_CLUSTERS = - fromString("connectedClusters"); - - /** - * Creates or finds a SourceControlConfigurationsClusterResourceName from its string representation. - * - * @param name a name to look for. - * @return the corresponding SourceControlConfigurationsClusterResourceName. - */ - @JsonCreator - public static SourceControlConfigurationsClusterResourceName fromString(String name) { - return fromString(name, SourceControlConfigurationsClusterResourceName.class); - } - - /** @return known SourceControlConfigurationsClusterResourceName values. */ - public static Collection values() { - return values(SourceControlConfigurationsClusterResourceName.class); - } -} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceControlConfigurationsClusterRp.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceControlConfigurationsClusterRp.java deleted file mode 100644 index b74cbd1dbbb29..0000000000000 --- a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceControlConfigurationsClusterRp.java +++ /dev/null @@ -1,36 +0,0 @@ -// 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.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for SourceControlConfigurationsClusterRp. */ -public final class SourceControlConfigurationsClusterRp - extends ExpandableStringEnum { - /** Static value Microsoft.ContainerService for SourceControlConfigurationsClusterRp. */ - public static final SourceControlConfigurationsClusterRp MICROSOFT_CONTAINER_SERVICE = - fromString("Microsoft.ContainerService"); - - /** Static value Microsoft.Kubernetes for SourceControlConfigurationsClusterRp. */ - public static final SourceControlConfigurationsClusterRp MICROSOFT_KUBERNETES = fromString("Microsoft.Kubernetes"); - - /** - * Creates or finds a SourceControlConfigurationsClusterRp from its string representation. - * - * @param name a name to look for. - * @return the corresponding SourceControlConfigurationsClusterRp. - */ - @JsonCreator - public static SourceControlConfigurationsClusterRp fromString(String name) { - return fromString(name, SourceControlConfigurationsClusterRp.class); - } - - /** @return known SourceControlConfigurationsClusterRp values. */ - public static Collection values() { - return values(SourceControlConfigurationsClusterRp.class); - } -} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceKindType.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceKindType.java new file mode 100644 index 0000000000000..cd8c824097702 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SourceKindType.java @@ -0,0 +1,34 @@ +// 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.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for SourceKindType. */ +public final class SourceKindType extends ExpandableStringEnum { + /** Static value GitRepository for SourceKindType. */ + public static final SourceKindType GIT_REPOSITORY = fromString("GitRepository"); + + /** Static value Bucket for SourceKindType. */ + public static final SourceKindType BUCKET = fromString("Bucket"); + + /** + * Creates or finds a SourceKindType from its string representation. + * + * @param name a name to look for. + * @return the corresponding SourceKindType. + */ + @JsonCreator + public static SourceKindType fromString(String name) { + return fromString(name, SourceKindType.class); + } + + /** @return known SourceKindType values. */ + public static Collection values() { + return values(SourceKindType.class); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SupportedScopes.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SupportedScopes.java new file mode 100644 index 0000000000000..fd29a71df3098 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/main/java/com/azure/resourcemanager/kubernetesconfiguration/models/SupportedScopes.java @@ -0,0 +1,79 @@ +// 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.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 scopes. */ +@Fluent +public final class SupportedScopes { + @JsonIgnore private final ClientLogger logger = new ClientLogger(SupportedScopes.class); + + /* + * Default extension scopes: cluster or namespace + */ + @JsonProperty(value = "defaultScope") + private String defaultScope; + + /* + * Scope settings + */ + @JsonProperty(value = "clusterScopeSettings") + private ClusterScopeSettings clusterScopeSettings; + + /** + * Get the defaultScope property: Default extension scopes: cluster or namespace. + * + * @return the defaultScope value. + */ + public String defaultScope() { + return this.defaultScope; + } + + /** + * Set the defaultScope property: Default extension scopes: cluster or namespace. + * + * @param defaultScope the defaultScope value to set. + * @return the SupportedScopes object itself. + */ + public SupportedScopes withDefaultScope(String defaultScope) { + this.defaultScope = defaultScope; + return this; + } + + /** + * Get the clusterScopeSettings property: Scope settings. + * + * @return the clusterScopeSettings value. + */ + public ClusterScopeSettings clusterScopeSettings() { + return this.clusterScopeSettings; + } + + /** + * Set the clusterScopeSettings property: Scope settings. + * + * @param clusterScopeSettings the clusterScopeSettings value to set. + * @return the SupportedScopes object itself. + */ + public SupportedScopes withClusterScopeSettings(ClusterScopeSettings clusterScopeSettings) { + this.clusterScopeSettings = clusterScopeSettings; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (clusterScopeSettings() != null) { + clusterScopeSettings().validate(); + } + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ClusterExtensionTypeGetSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ClusterExtensionTypeGetSamples.java new file mode 100644 index 0000000000000..4f7f56ecdff87 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ClusterExtensionTypeGetSamples.java @@ -0,0 +1,33 @@ +// 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.generated; + +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( + "rg1", + ClusterExtensionTypeClusterRp.MICROSOFT_CONTAINER_SERVICE, + ClusterExtensionTypeClusterResourceName.MANAGED_CLUSTERS, + "clusterName1", + "microsoft.example", + Context.NONE); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ClusterExtensionTypesOperationListSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ClusterExtensionTypesOperationListSamples.java new file mode 100644 index 0000000000000..f566976af4d44 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ClusterExtensionTypesOperationListSamples.java @@ -0,0 +1,32 @@ +// 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.generated; + +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( + "rg1", + ClusterExtensionTypeClusterRp.MICROSOFT_CONTAINER_SERVICE, + ClusterExtensionTypeClusterResourceName.MANAGED_CLUSTERS, + "clusterName1", + Context.NONE); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionTypeVersionsListSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionTypeVersionsListSamples.java new file mode 100644 index 0000000000000..71b2e50c5c0f8 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionTypeVersionsListSamples.java @@ -0,0 +1,23 @@ +// 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.generated; + +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("eastus", "microsoft.example", Context.NONE); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsCreateSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsCreateSamples.java new file mode 100644 index 0000000000000..3c60643845ecc --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsCreateSamples.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.generated; + +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; + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsDeleteSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsDeleteSamples.java new file mode 100644 index 0000000000000..5edf429a7fc4f --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsDeleteSamples.java @@ -0,0 +1,34 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsGetSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsGetSamples.java new file mode 100644 index 0000000000000..eb2bcbe621791 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsGetSamples.java @@ -0,0 +1,33 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsListSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsListSamples.java new file mode 100644 index 0000000000000..d924e3aa94e7c --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsListSamples.java @@ -0,0 +1,32 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsUpdateSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsUpdateSamples.java new file mode 100644 index 0000000000000..bb9eb22a6612a --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/ExtensionsUpdateSamples.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.kubernetesconfiguration.generated; + +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; + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigOperationStatusGetSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigOperationStatusGetSamples.java new file mode 100644 index 0000000000000..f15189efd78c1 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigOperationStatusGetSamples.java @@ -0,0 +1,34 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsCreateOrUpdateSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsCreateOrUpdateSamples.java new file mode 100644 index 0000000000000..659c401ab78eb --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsCreateOrUpdateSamples.java @@ -0,0 +1,136 @@ +// 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.generated; + +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; + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsDeleteSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsDeleteSamples.java new file mode 100644 index 0000000000000..a0e425b657c6c --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsDeleteSamples.java @@ -0,0 +1,34 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsGetSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsGetSamples.java new file mode 100644 index 0000000000000..299977dc97ea2 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsGetSamples.java @@ -0,0 +1,33 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsListSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsListSamples.java new file mode 100644 index 0000000000000..86dacc1931f0c --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsListSamples.java @@ -0,0 +1,32 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsUpdateSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsUpdateSamples.java new file mode 100644 index 0000000000000..a1a39db4c4c7f --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/FluxConfigurationsUpdateSamples.java @@ -0,0 +1,66 @@ +// 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.generated; + +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; + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/LocationExtensionTypesListSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/LocationExtensionTypesListSamples.java new file mode 100644 index 0000000000000..b4f8bc8ff7cfe --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/LocationExtensionTypesListSamples.java @@ -0,0 +1,23 @@ +// 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.generated; + +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("eastus", Context.NONE); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/OperationStatusGetSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/OperationStatusGetSamples.java new file mode 100644 index 0000000000000..5116bec0b0108 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/OperationStatusGetSamples.java @@ -0,0 +1,34 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/OperationStatusListSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/OperationStatusListSamples.java new file mode 100644 index 0000000000000..f479af98660e6 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/OperationStatusListSamples.java @@ -0,0 +1,32 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/OperationsListSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/OperationsListSamples.java new file mode 100644 index 0000000000000..c9a785e0168a1 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/OperationsListSamples.java @@ -0,0 +1,23 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsCreateOrUpdateSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsCreateOrUpdateSamples.java new file mode 100644 index 0000000000000..fdd46232ecce7 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsCreateOrUpdateSamples.java @@ -0,0 +1,66 @@ +// 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.generated; + +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; + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsDeleteSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsDeleteSamples.java new file mode 100644 index 0000000000000..ee4e03f5e72a8 --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsDeleteSamples.java @@ -0,0 +1,33 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsGetSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsGetSamples.java new file mode 100644 index 0000000000000..1cb0faf891d1e --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsGetSamples.java @@ -0,0 +1,33 @@ +// 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.generated; + +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); + } +} diff --git a/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsListSamples.java b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsListSamples.java new file mode 100644 index 0000000000000..e3f4ebb2e68bb --- /dev/null +++ b/sdk/kubernetesconfiguration/azure-resourcemanager-kubernetesconfiguration/src/samples/java/com/azure/resourcemanager/kubernetesconfiguration/generated/SourceControlConfigurationsListSamples.java @@ -0,0 +1,32 @@ +// 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.generated; + +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); + } +}